您的位置:首页 > 编程语言 > Python开发

pandas数据处理

2017-03-26 15:55 141 查看

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)




8、dataframe删除行
df=df.drop(labels=row)

参考文献:简书博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息