Pandas可以处理以下三种数据:
更好的理解这些数据结构的方式是将高维数据看作是低维数据的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构 | 维度 | 描述 |
---|---|---|
Series | 1 | 一维带标签的同质数组,大小不可变。 |
Data Frames | 2 | 通用的二维带标签,大小可变的表格结构,其中列的类型可能不同。 |
Panel | 3 | 通用的三维带标签,大小可变的数组。 |
注意:
常使用构造函数如下:
pandas.Series( data, index, dtype, copy)
一系列可以使用各种输入来创建,如:
#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s
如果数据是ndarray,则传入的索引必须具有相同的长度。如果没有传入索引,则默认索引会是 range(n) ,其中 n 是数组的长度
# create Series from ndarray
data = np.array([1, 3, 4,12])
s = pd.Series(data)
s_idx = pd.Series(data,index=[101,102,103,104])
print(s)
字典 可以作为输入传递,如果没有指定索引,则按字典键的排序顺序构建索引。如果传递了 索引 ,则会提取与索引标签对应的数据值。
# create Series from dict
data = {
'a': 1.,
'b':12,
'c': 100
}
s = pd.Series(data)
s_idx = pd.Series(data, index=['a','d','c','b'])
print(s_idx)
如果数据是一个标量值,必须提供一个索引。该值将被重复以匹配 索引 的长度。
# create Series from Scalar
s_idx =pd.Series(19,index=[1,2,312])
print(s_idx)
Series中的数据可以通过类似于ndarray的方式进行访问。
s_idx=pd.Series([1,9,2,6,4], index=['a','b','c','d','e'])
print(s_idx)
print(s_idx[0])