利用Python进行数据分析第三天
January
pandas是用来处理表格类型或者是异质型数据的,Numpy则相反,它更适合处理同质型的数值类数组数据
如何导入pandas:“import pandas as pd”
从本地空间中导入Series和DataFrame:“from pandas import Series,DataFrame”
Feburary
Series:一维的数组型对象,包含一个值序列和一个数据索引,有values属性和index属性(Series.values和Series.index)
Series可以自定义索引:obj2=pd.Series([4,7,-5,3],index=[‘d’,‘b’,‘a’,‘c’])
通过索引改变value:obj2[‘d’]=6
Series过滤机制:obj2[obj2>0]
和Numpy联合使用:np.exp(obj2)
我们可以认为Series是一个长度固定并且有序的字典
利用字典创建Series对象:
(字典) stata={‘Ohio’:35000, ‘Texas’:71000, ‘Oregon’:16000,‘Utah’:5000}
(创建Series) obj3=pd.Series(sdata)
输入:obj3
显示为:
Ohio: 35000.0
Oregon: 16000.0
Texas 71000.0
Utah: 5000.0
在使用字典类型数据创建Series时,可以自定义Series的index序列
(字典) states={‘California’, ‘Ohio’, ‘Oregon’,‘Texas’}
(创建Series) obj4=pd.Series(sdata,index=states)
输入:obj4
显示为:
California: NaN
Ohio: 35000.0
Oregon: 16000.0
Texas: 71000.0
因为California没有出现在sdata的键中,所以它对应的values是NaN(这是pandas中标记缺失值的方式)
pands使用pd.isnull()函数和pd.notnull()函数来检查缺失数据
同时isnull方法和notnull方法也是Series实例对象的方法
例如:obj4.isnull()
Series对象自身和其索引都有name属性。
Series的index属性可以自定义:
例如:obj.index=[‘Bob’, ‘Steve’, ‘Jeff’, ‘Ryan’]
March
DataFrame既有行索引,又有列索引。
如何构建DataFrame:
1.利用等长度的列表或NumPy数组的字典:data={‘state’:[‘Ohio’,‘Ohio’,‘Ohio’ ,‘Nevade’, ‘Nevade’ ,‘Nevade’],
‘year’:[2000,2001,2002,2001,2002,2003],
‘pop’:[1.5,1.7,3.6,2.4,2.9,3.2]}
frame=pd.DataFrame(data)
frame.head()方法:选出头部的前五行。
如果你指定了列的顺序,DF的列会按照指定顺序排列:
例如:pd.DataFrame(data,columns=[‘year’, ‘state’, ‘pop’])
如果你传的列不包含在字典里,将会在结果中生成新列,并填充缺失值(Page129)
DataFrame中的一列,可以按照字典型标记或属性那样检索为Series:
例如:frame.[‘state’]
又或者是:frame.year
关于列的引用是可以修改的(page130)。
将Series赋值给一列时,Series的索引会按照DataFrame的索引重新排列,并在空缺处填充缺失值(page131),若被赋值的那一列本身在DataFrame中并不存在,则会生成一个新的列。
del方法可以移除某一列。
从DataFrame中选取的列时数据的视图,而不是拷贝。因此,对于Series的修改会映射到DataFrame中。
如果嵌套字典被赋值给DataFrame,pandas会将字典的键作为列,将内部字典的键作为行索引(page132)。
使用嵌套字典生成DataFrame时,可以指定index。(page132)
包含Series的字典也可以用于构造DataFrame。(page132)
April
pandas中的索引对象(index)是用于存储轴标签和其他元数据。
你使用的任意数组或标签序列都可以在内部转换为索引对象。索引对象的值只能读不能写。
pandas索引对象可以包含重复标签。
如何重建索引:reindex()方法
我们在重建索引时可能需要填充值,或是插值,我们可以在使用reindex是选取可选参数method=“ffill”等
在DataFrame中,reindex方法可以改变行索引和列索引
May
轴上删除条目:drop()方法
drop方法可以返回一个删除后的新对象

浙公网安备 33010602011771号