您的位置:首页 > 其它

Pandas入门1-Series与DataFrame

2016-07-27 22:01 387 查看
Series是一种类似于一位数组的对象,它由一组数据(各种NumPy数据类型)以及与之相关的数据标签组成。

obj=Series([1,5,7,8,78])
print obj


得到结果

0     1
1     5
2     7
3     8
4    78
dtype: int64


如上,Series的表现形式为:索引在左边,值在右边。由于我们没有为它指定索引,于是会自动的创建一个0~N-1的整数值索引。我们可以分开看索引与值

print obj.index
print obj.values


得到结果

RangeIndex(start=0, stop=5, step=1)
[ 1  5  7  8 78]


我们也可以自己指定索引

obj=Series([1,5,7,8,78],index=['one','two','three','four','five'])
print obj.index print obj.values


得到结果

Index([u'one', u'two', u'three', u'four', u'five'], dtype='object')
[ 1  5  7  8 78]


我们发现这个时候obj的索引值变为我们制定的值

我们可以通过索引值取得我们想要的值

print obj['one']


1


print obj[['one','three','five']]


one       1
three     7
five     78
dtype: int64


也可以根据bool值数组进行过滤

print obj[obj>=7]


three     7
four      8
five     78
dtype: int64


对于某些数据可能存在缺失值的情况,例如以下情况

va={"one":"a","two":"b","three":"c","four":"d"}
obj=Series(va,index=['one','two','three','four','five'])
print obj


one        a
two        b
three      c
four       d
five     NaN
dtype: object


可以通过isnull,notnull函数判断Series中的值是否为缺失值(我们在后面的章节中会讲解如何处理缺

print obj.isnull()


one      False
two      False
three    False
four     False
five      True
dtype: bool


DataFrame是一个表格型数据结构,与Series不同的是,DataFrame可以含有一组或者有序的列,每列可以使不同的值的类型,它可以被看做成Series的字典。
DataFrame的构造方法有很多种,常用方法有传入一个登长的列表,或者Numpy列表


data={'index':[1,2,3,4,5],'year':[2012,2013,2014,2015,2016],'status':['good','very good','well','very well','wonderful']}
frame=DataFrame(data)
print frame
data2={"kk":numpy.array([5,6,7,8,9]),"jj":numpy.array([15,16,17,18,19])}
frame=DataFrame(data2)
print frame


index     status  year
0      1       good  2012
1      2  very good  2013
2      3       well  2014
3      4  very well  2015
4      5  wonderful  2016

jj  kk
0  15   5
1  16   6
2  17   7
3  18   8
4  19   9


有时候为了便于观察,可以自行定义行名与列名

frame2=DataFrame(data,columns=['status','year','index'],index=['one','two','three','four','five'])
print frame2


status  year  index
one         good  2012      1
two    very good  2013      2
three       well  2014      3
four
9b95
very well  2015      4
five   wonderful  2016      5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Pandas