利用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

posted @ 2016-08-25 20:03  水晶球  阅读(322)  评论(0编辑  收藏  举报