Python Data Operations
优质
小牛编辑
131浏览
2023-12-01
Python主要通过两个库Pandas和Numpy处理各种格式的数据。 我们已经在前面的章节中看到了这两个库的重要特性。 在本章中,我们将看到每个库中有关如何操作数据的一些基本示例。
Numpy中的数据操作
NumPy中定义的最重要的对象是名为ndarray的N维数组类型。 它描述了相同类型的项目集合。 可以使用从零开始的索引访问集合中的项目。 ndarray类的实例可以通过本教程后面描述的不同数组创建例程来构造。 基本的ndarray是使用NumPy中的数组函数创建的,如下所示 -
numpy.array
以下是Numpy数据处理的一些示例。
例子1 (Example 1)
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print a
输出如下 -
[[1, 2]
[3, 4]]
例子2 (Example 2)
# minimum dimensions
import numpy as np
a = np.array([1, 2, 3,4,5], ndmin = 2)
print a
输出如下 -
[[1, 2, 3, 4, 5]]
例子3 (Example 3)
# dtype parameter
import numpy as np
a = np.array([1, 2, 3], dtype = complex)
print a
输出如下 -
[ 1.+0.j, 2.+0.j, 3.+0.j]
熊猫中的数据操作
Pandas通过Series , Data Frame和Panel处理数据。 我们将从这些中看到一些例子。
熊猫系列
Series是一维标记数组,能够保存任何类型的数据(整数,字符串,浮点数,python对象等)。 轴标签统称为索引。 可以使用以下构造函数创建pandas系列 -
pandas.Series( data, index, dtype, copy)
例子 (Example)
在这里,我们从Numpy数组创建一个系列。
#import the pandas library and aliasing as pd
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print s
其output如下 -
0 a
1 b
2 c
3 d
dtype: object
熊猫DataFrame
数据框是二维数据结构,即数据以行和列的表格形式对齐。 可以使用以下构造函数创建pandas DataFrame -
pandas.DataFrame( data, index, columns, dtype, copy)
现在让我们使用数组创建一个索引的DataFrame。
import pandas as pd
data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}
df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
print df
其output如下 -
Age Name
rank1 28 Tom
rank2 34 Jack
rank3 29 Steve
rank4 42 Ricky
熊猫面板
panel是数据的3D容器。 术语Panel data来源于计量经济学,并且部分负责名称pandas - pan(el)-da(ta) -s。
可以使用以下构造函数创建Panel -
pandas.Panel(data, items, major_axis, minor_axis, dtype, copy)
在下面的示例中,我们从DataFrame Objects的dict创建一个面板
#creating an empty panel
import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print p
其output如下 -
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4