pandas的主要数据结构:Series
Pandas所能满足的需求:
具备按轴自动或显式数据对齐功能的数据结构。这可以防止许多由于数据未对齐以及来自不同数据源(索引方式不同)的数据而导致的常见错误。
集成时间序列功能
既能处理时间序列数据也能处理非时间序列的数据
数据运算和约简(比如对某个轴求和)可以根据不同的元数据(轴)编号执行。
灵活处理缺失数据
合并及其他出现在常见数据库中的关系型运算
Series是一种类似一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成
Series的组成要素为两点:1.一组数据 2.与之对应的索引
创建:Series([data],index=[index])
"Data可以是列表(省略index)"
obj = Series([3,4,-5,6])
"通过Python字典创建:键值自动作为索引"
sdata = {'a':3,'b':4,'c':-5,'d':6}
obj = Series(sdata)
"自定义索引"
obj = Series([3,4,-5,6],index=['a','b','c','d'])
应用:Series的方法
"通过索引选取单个值"
In [7]: obj['a']
Out[7]: 3
"通过索引选取一组值"
In [8]: obj[['a','c','d']]
Out[8]:
a 3
c -5
d 6
"数据组运算(Series可以看作一维数组),保留索引和值之间的链接"
obj[obj > 0]
obj[obj*2]
np.exp(obj2)
"还可以将Series当作一个定长的有序字典"
In [9]: "b" in obj
Out[9]: True
In [10]: "e" in obj
Out[10]: False
"Series实例方法"
In [10]: obj.isnull() #检测缺失数据
"Series的索引可以通过赋值的方式就地修改"
In [11]: obj.index = ['Bob','Steve','Jeff','Ryan']
Out[12]:
Bob 3
Steve 4
Jeff -5
Ryan 6
dtype: int64