Pandas数据清洗

96
风中之羚
2018.07.05 23:58* 字数 705

原文: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:

日记本