Pandas 基本的数据结构是Series和DataFrame。Series是1-D,DataFrame是2-D的。
Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。
创建一个Series的最基本方法是:
s = pd.Series(data, index=index)
这里,data指代许多不同的数据类型:
- a Python dict
- an ndarray
- a Python list
- a scalar value
- 仅由一组数据即可产生最简单的Series,通过传递一个list来创建一个Series,pandas会默认创建整形索引:
In [2]: obj = Series([4, 7, -5, 3])
In [3]: obj
Out[3]: 0 4
1 7
2 -5
3 3
dtype: int64
我们可以通过Series的values和index属性获取其数组表示形式和索引对象:
In [4]: obj.values
Out[4]: array([ 4, 7, -5, 3], dtype=int64)
In [5]: obj.index
Out[5]: RangeIndex(start=0, stop=4, step=1)
通常,我们希望所创建的Series带有一个可以对各个数据点进行标记的索引:
In [7]: obj2 = Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
In [8]: obj2
Out[8]: d 4 b 7 a -5 c 3 dtype: int64
In [9]: obj2.index
Out[9]: Index([u'd', u'b', u'a', u'c'], dtype='object')
与普通的NumPy数组相比,你可以通过索引的方式选取Series中的单个或一组值:
In [10]: obj2['a']
Out[10]: -5
In [11]: obj2['d'] = 6
In [12]: obj2[['c', 'a', 'd']]
Out[12]: c 3 a -5 d 6