python主要通过pandas和numpy这两个库来处理各种格式的数据。 我们已经在前面的章节中看到了这两个库的重要特征。 在本章中,我们将看到每个库中关于如何操作数据的一些基本示例。
numpy中定义的最重要的对象是名为ndarray
的n
维数组类型。 它描述了相同类型的项目的集合。 可以使用从零开始的索引来访问集合中的项目。 ndarray
类的一个实例可以通过本教程稍后介绍的不同阵列创建例程来构建。 基本的ndarray
是使用numpy中的数组函数创建的,如下所示 -
numpy.array
以下是关于numpy数据处理的一些示例。
示例1
# more than one dimensions
import numpy as np
a = np.array([[1, 2], [3, 4]])
print (a)
输出如下 -
[[1, 2]
[3, 4]]
示例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
# 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),数据框和面板处理数据。 我们将看到一些例子。
pandas数列
series是一维标签数组,能够容纳任何类型的数据(整数,字符串,浮点数,python对象等)。 轴标签统称为索引。 pandas系列可以使用以下构造函数创建 -
pandas.series( data, index, dtype, copy)
示例
这里从numpy array创建一个系列。
#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)
它将输出如下结果 -
0 a
1 b
2 c
3 d
dtype: object
pandas数据帧
数据帧(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
它将输出如下结果 -
age name
rank1 28 tom
rank2 34 jack
rank3 29 steve
rank4 42 ricky
pandas面板
面板是数据的3d容器。 术语面板数据来自计量经济学,部分负责名称pandas - pan(el)-da(ta)-s。
面板可以使用以下构造函数创建 -
pandas.panel(data, items, major_axis, minor_axis, dtype, copy)
在下面的例子中,从dataframe对象的字典创建一个面板 -
#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)
它将输出如下结果 -
<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