pandas数据处理

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会造成数据丢失

原始数据
pandas数据处理_第1张图片
分组后的数据
pandas数据处理_第2张图片
如果用reindex重建索引的数据,可以发现索引改变后值丢失了
pandas数据处理_第3张图片
解决重建索引方法:
# dataframe重建索引
group=group.reset_index(drop=True)
group=pd.DataFrame(group)

pandas数据处理_第4张图片

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

参考文献:简书,博客

你可能感兴趣的:(Python,机器学习)