Pandas数据清洗
原文:https://www.cnblogs.com/BoyceYang/p/8182053.html
https://blog.csdn.net/yen_csdn/article/details/53445616
Pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
下面我们通过使用 Pandas 提供的功能来清洗“脏”数据。
DataFrame :DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。
DataFrame可以通过类似字典的方式或者.columnname的方式将列获取为一个Series。行也可以通过位置或名称的方式进行获取。
Series :Series可以运用ndarray或字典的几乎所有索引操作和函数,融合了字典和ndarray的优点。可以看成增强版的list
Data : 基本数据,bool,string等
在机器学习,大数据领域,CSV是一种常见的数据格式。本文提到的数据清洗即时针对CSV 文件 读取的
Pandas 提供了 read_csv()函数,读出来的数据格式为DataFrame 通过to_csv 可以方便的将DataFrame结构的数据直接写入数据文件 。
基本数据构建成一维的Series,Series构建成二位表格形式的DataFrame ,DataFrame 结构的数据是可以很方便的通过read_csv、 to_csv与csv 数据文件交互。
以上可知,数据清洗的基本对象为DataFrame(简称 :df)结构的数据。
Pandas 提供了大量的df处理函数
https://blog.csdn.net/u014281392/article/details/75331570
常用的数据清洗类型:
1) 缺失值处理
填充 fillna
固定值填充 fillna(0) ,fillna('missing') 可以用任何值代替缺失值
统计替代 用前一个值替代fillna(methon='pad'),用平均数替代df.fillna(df.mean())
滤除 dropna 默认按行剔除,剔除含有NaN的行,如果指定how='all' 剔除全部为NAN 的行 dropna(how='all')
如果计划按列剔除 传入参数axis=1 即可 dropna(how='all',axis=1)
区分处理 is(not)null 判定是否为空,然后进行处理
2)异常值处理
3)移出重复数据
duplicated DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复行
drop_duplicated 它用于返回一个移除了重复行的DataFrame: