Pandas数据结构简介
Pandas可以处理以下三种数据:
- Series
- DataFrame
- Panel
这些数据建立在NumPy上,故可以快速运行。
纬度描述
更好的理解这些数据结构的方式是将高维数据看作是低维数据的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构 | 维度 | 描述 |
---|---|---|
Series | 1 | 一维带标签的同质数组,大小不可变。 |
Data Frames | 2 | 通用的二维带标签,大小可变的表格结构,其中列的类型可能不同。 |
Panel | 3 | 通用的三维带标签,大小可变的数组。 |
注意:
- pandas所有数据结构可变。除Series外, 所有数据结构的大小可变。Series结构大小不可变。
- DataFrame是pandas中最常用的数据。
Pandas Series
常用创建方法
常使用构造函数如下:
pandas.Series( data, index, dtype, copy)
一系列可以使用各种输入来创建,如:
- ndarray数组
- 字典
- 标量值或常数
创建空系列
#import the pandas library and aliasing as pd
import pandas as pd
s = pd.Series()
print s
从ndarray创建
如果数据是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指定索引位置访问数据
Series中的数据可以通过类似于ndarray的方式进行访问。
s_idx=pd.Series([1,9,2,6,4], index=['a','b','c','d','e'])
print(s_idx)
print(s_idx[0])