首页 > 编程语言 > 详细

《利用python进行数据分析》学习笔记--pandas(1)

时间:2018-08-26 21:31:57      阅读:205      评论:0      收藏:0      [点我收藏+]

    pandas主要的两个数据结构是:Series 和DataFrame

1、Series

series 类似于一维数组,由 索引+数据组成

若不指定索引,则会自动创建0到N-1的整数型索引,

可以用series的values获取数组值,用index获取索引值。

import pandas as pd
obj = pd.Series ([3,6,9,7],index = [c,b,d,a])
obj
返回为
c    3
b    6
d    9
a    7
dtype: int64
此时可以通过索引选取值
obj[d]
返回为
9

Numpy的数组运算(布尔型数组过滤、标量乘、数学函数)不会改变索引和值之间的链接

obj * 3
c     9
b    18
d    27
a    21
dtype: int64

np.exp(obj)
c      20.085537
b     403.428793
d    8103.083928
a    1096.633158
dtype: float64

   如果数据存放在一个Python字典中,可以通过字典来创建Series

data = {JiangSu:20000,JiangXi:35000,FuJian:15000,GuangDong:40000}
obj = pd.Series(data)
obj
返回为
JiangSu      20000
JiangXi      35000
FuJian       15000
GuangDong    40000
dtype: int64

如果只传如一个字典,则Series的索引就是原字典的键。

states = [FuJian,JiangSu,ZheJiang]
obj1 = pd.Series(data,index = states)
obj1
返回为
FuJian      15000.0
JiangSu     20000.0
ZheJiang        NaN
dtype: float64

在pandas中一般用isnull、notnull检测缺失值。

series最重要的一个功能是:可以在算数运算中自动对齐不同索引的数据

obj +obj1
返回为
FuJian       30000.0
GuangDong        NaN
JiangSu      40000.0
JiangXi          NaN
ZheJiang         NaN
dtype: float64

Series的对象本身和索引都有一个name属性

obj1.name = population
obj1.index.name = state
obj1
返回为
state
FuJian      15000.0
JiangSu     20000.0
ZheJiang        NaN
Name: population, dtype: float64

series也可以通过赋值的方式就地修改

2、DataFrame

dataframe既有行索引,又有列索引,可以被看作由series组成的字典(共用一个索引)

    传入一个由等长列表或Numpy数组组成的字典,如果传入时不加索引,则dataframe自动加上索引

data = {state:[JiangSu,JiangXi,ZheJiang,GuangDong],year:[2008,2009,2010,2011],pop:[1.5,1.8,2.5,2.9]}
frame = pd.DataFrame(data)
frame
frame2 = pd.dataframe(data,columns = [year,state,pop,debt],index = [one,two,three,four])
frame2
返回为
        state      year    pop
0    JiangSu    2008    1.5
1    JiangXi    2009    1.8
2    ZheJiang    2010    2.5
3    GuangDong    2011    2.9

frame2 = pd.DataFrame(data,columns = [year,state,pop,debt],index = [one,two,three,four])
frame2
返回为
        year     state    pop    debt
one    2008    JiangSu    1.5    NaN
two    2009    JiangXi    1.8    NaN
three  2010    ZheJiang   2.5    NaN
four   2011    GuangDong  2.9    NaN

DataFrame一般用索引字段ix来执行

frame2.ix[four]
返回为
year          2011
state    GuangDong
pop            2.9
debt           NaN
Name: four, dtype: object
也可以通过赋值进行修改
frame2[‘debt‘] = 15
frame2
返回为
yearstatepopdebt
one 2008 JiangSu 1.5 15
two 2009 JiangXi 1.8 15
three 2010 ZheJiang 2.5 15
four 2011 GuangDong 2.9 15

 

DataFrame另外一种数据形式是嵌套字典,被解释为:外层字典的键作为列,内层字典则作为行索引。

DataFrame的索引对象:

 

《利用python进行数据分析》学习笔记--pandas(1)

原文:https://www.cnblogs.com/jx1111jx/p/9538895.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!