利用pandas进行数据分析之一:pandas数据结构Series
Series是一种类似于一维数组的对象,又一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即是索引)组成。
可以将Series看成是一个定长的有序字段,因为它是索引值到数据值的一个映射。
import pandas as pd
>>>obj=pd.Series([4,5,6,7])#仅由一组数据(列表,元组)即可产生最简单的Series,索引自动生成,从0开始,可以通过values和index属性获取其数组的表示形式和索引对象
>>> obj
0 4
1 5
2 6
3 7
>>>obj=pd.Series([4,5,6,7],index=list('abcd')):#(可以是列表、元组、字典)
>>> obj
a 4
b 5
c 6
d 7
>>> obj[:2]#切片获取值和索引,同时可以对值做修改
a 4
b 5
>>> obj['a']#通过索引获取单个或者一组值 obj[['a','b']]
4
>>> obj[obj>5]#根据布尔值获取值
c 6
d 7
>>> obj.index #属性,可以通过赋值的方式就地修改
Index([u'a', u'b', u'c', u'd'], dtype='object')
>>> obj.values #属性,值,是数组形式
array([4, 5, 6, 7])
>>> obj.index=['a','b','d','e']#更改索引
>>> obj
a 4
b 5
d 6
e 7
>>>obj.name=' ' #属性
>>>obj.index.name=' '
>>>'b' in obj
>>> obj['d']=12 #修改值
>>> obj
a 4
b 5
d 12
e 7
>>> dirct={'salary':3000,'texas':2344}#如果只传入一个字典,则结果Series中的索引就是原字典的键
>>> obj2=pd.Series(dirct)
>>> obj2
salary 3000
texas 2344
>>> state=['salary','out']
>>> obj3=pd.Series(dirct,state)#索引和原来匹配的值灰白找出,无法对应的结果是NaN
>>> obj3
salary 3000.0
out NaN
>>> pd.isnull(obj3)#isnull用于检测是否有缺失值
salary False
out True
>>> obj2+obj3 #Series重要的功能:在算数计算中会自动对齐不同索引的数据
out NaN
salary 6000.0
texas NaN