读者只需浏览一下本文的目录结构,我相信就已经掌握了1到2成的 pandas 知识。
本文的目的是建立一个大概的知识结构
在数据挖掘python阅读源码时,断断续续查阅了些 pandas 资料,并在源码中大致感受到了 pandas 在数据清理方面的方便性。
先将自己查阅的资料结合实际应用中常用到的方式,以学习笔记的形式整理出来。不会涉及到 pandas 的所有方面,细节知识还需自行查阅官方文档。
head和tail方法可以显示DataFrame前N条和后N条记录,N为对应的参数,默认值为5。
index(行)和columns(列)属性,可以获得DataFrame的行和列的标签。这也是了解数据内容和含义的重要步骤。
decribe方法可以计算各个列的基本描述统计值。包含计数,平均数,标准差,最大值,最小值及4分位差。
T 方法可以对数据进行转置
df.sort_index(axis=1, ascending=False)
sort_index可以以轴的标签进行排序。axis是指用于排序的轴,可选的值有0和1,默认为0即行标签(Y轴),1为按照列标签排序。 ascending是排序方式,默认为True即降序排列。
df.sort(columns=[‘one’,’two’],ascending=[0,1])
DataFrame也提供按照指定列进行排序,可以仅指定一个列作为排序标准(以单独列名作为columns的参数),也可以进行多重排序(columns的参数为一个列名的List,列名的出现顺序决定排序中的优先级),在多重排序中ascending参数也为一个List,分别与columns中的List元素对应。
这里仅介绍读csv格式数据,对于excel数据,请查阅其他资料
读
df = pd.read_csv(‘data.csv‘)
写
df.to_csv(‘data.csv‘)
选择一个单独的列df[‘a‘]
等同于 df.a
通过[]进行选择,这将会对行进行切片:df[0:3]
使用标签选取数据:
df.loc[行标签,列标签]
df.loc[‘a‘:‘b‘]#选取ab两行数据
df.loc[:,‘one‘]#选取one列的数据
df.loc的第一个参数是行标签,第二个参数为列标签(可选参数,默认为所有列标签),两个参数既可以是列表也可以是单个字符,如果两个参数都为列表则返回的是DataFrame,否则,则为Series。
使用位置选取数据:
df.iloc[行位置,列位置]
df.iloc[1,1]#选取第二行,第二列的值,返回的为单个值
df.iloc[0,2],:]#选取第一行及第三行的数据
df.iloc[0:2,:]#选取第一行到第三行(不包含)的数据
df.iloc[:,1]#选取所有记录的第一列的值,返回的为一个Series
df.iloc[1,:]#选取第一行数据,返回的为一个Series
通过逻辑指针进行数据切片:
df[逻辑条件]
df[df.one>=2]#单个逻辑条件
df[(df.one>=1) & (df.one<3) ]#多个逻辑条件组合
这种方式获得的数据切片都是DataFrame。
df.dropna(how=‘any‘)
会去掉缺失值的行df.fillna(value=)
对缺失值进行填充Contact
[pandas 官方文档]((http://pandas.pydata.org/)
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/u012675539/article/details/47113147