使用python进行数据分析<五>(pandas入门)

pandas基于Numpy构建

pandas 的数据结构介绍

Series
#Series类似一维数组的对象, 传入数组可以生成Series对象
In [5]: obj = Series([4,5,6,0])

In [7]: obj
Out[7]: 
0    4
1    5
2    6
3    0
dtype: int64
#可以看到左边有默认的index于数据一一对应,可以通过index取数据
In [8]: obj[0]
Out[8]: 4

#可以在初始化的时候,传入index数据,指定索引
In [10]: obj2 = Series([4,45,5,6],index = ['b','a','c','d'])
#既可以通过指定的索引取数据,也可以通过index取得数据
In [12]: obj2['a']
Out[12]: 45

In [13]: obj2[0]
Out[13]: 4

#也可以通过索引或者index 取得Series中的一组值
In [18]: obj2[[1,2]]
Out[18]: 
a    45
c     5
dtype: int64

In [19]: obj2[['a','b']]
Out[19]: 
a    45
b     4
dtype: int64

#Numpy数组运算,(如布尔型数组进行过滤,标量乘法,应用数学函数等)都会保留索引与值之间的联系
In [20]: obj2[obj2 > 10]
Out[20]: 
a    45
dtype: int64

In [21]: obj2*2
Out[21]: 
b     8
a    90
c    10
d    12
dtype: int64

#Series也可看做是定长的有序字典,很多字典通用的函数,在Series中也可以用
In [23]: 'a' in obj2
Out[23]: True
#也可以通过字典创建Series
In [26]: sdata = {'aaa':1232,'bbb':324,'ccc':433}

In [27]: obj3 = Series(sdata)

In [28]: obj3
Out[28]: 
aaa    1232
bbb     324
ccc     433
dtype: int64

#如果同时传入一个索引的数组,会根据索引取出对应的元素, 缺失的用NAN代替.

In [29]: index_str = ['eee','ccc','aaa']
In [30]: obj4 = Series(sdata,index_str)

In [31]: obj4
Out[31]: 
eee       NaN
ccc     433.0
aaa    1232.0
dtype: float64

#Series的索引也可以通过赋值的方式进行修改

In [39]: obj2.index = ['bbbb', 'baaaaaa', 'cccccc', 'dddddddddddddddddddd']

In [40]: obj2
Out[40]: 
bbbb                     4
baaaaaa                 45
cccccc                   5
dddddddddddddddddddd     6
dtype: int64

DataFrame
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容