pandas是python非常重要的数据处理库,pandas提供了非常丰富的数据处理函数,对机器学习,数据挖掘前的数据预处理很有帮助。
以下是最近小的使用总结:
1、pandas读取了csv文件获取了Dataframe类型对象,该对象可以丰富的执行数据处理。
缺失值处理dropna() or fillna()
2、dataframe['name','age']
来获取指定几列数据是不行的,需要两个中括号df=df[['name','city']]
3、关于缺失值的处理之前我总结过缺失值是空字符串的情况,当时处理是正则,在pandas中也提供了非常友好的函数map()来空字符串的情况。
4、重复值的处理可用drop_duplicates()处理
5、dataframe可用loc[row]来遍历行,loc[row][‘XXX’]就可以取得对应row行数的字段值,其中还有可以用布尔索引df[df.colname>value]
6、groupby提供强大的split-apply-combine(分组运算)功能,可以根据某列的值为关键字对原数据分组,通过遍历分组结果得到每个分组的结果(dataframe)
groupdf=df.groupby(df['key1'])
for name,group in groupdf:
print group # 分完组的小组 dataframe类型对象
# print name # name 是分组的关键字
7、dataframe重建索引,有时候我们分完组后想每个组里面没一行的索引还是原来的值,这时候我们想在分完组的当前dataframe重建索引,那么我们直接用df.reindex
会造成数据丢失
原始数据
分组后的数据
如果用reindex重建索引的数据,可以发现索引改变后值丢失了
解决重建索引方法:
# dataframe重建索引
group=group.reset_index(drop=True)
group=pd.DataFrame(group)