Pandas(数据清洗)

在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。 这工作会占到分析师时间的80%或更多。
pandas和内置的Python标准库提供了一组高级的、灵活的、快速的工具,可以让你轻松地将数据规整为想要的格式。
处理缺失数据 检测缺失数据
Pandas(数据清洗)
文章图片
检测 在统计应用中,NA数据可能是不存在的数据或者虽然存在,但是没有观察到(例如,数据采集中发生了问题)。当进行数据清洗以进行分析时,好直接对缺失数据进行分析,以判断数据采集的问题或缺失数据可能导致的偏差。
Python内置的None值在对象数组中也可以作为NA:
Pandas(数据清洗)
文章图片
None 滤除缺失数据
Pandas(数据清洗)
文章图片
滤除缺失 DataFrame对象,dropna默认丢弃任何含有缺失值的行
Pandas(数据清洗)
文章图片
丢弃含有缺失值的行 传入how=‘all’将只丢弃全为NA的行
Pandas(数据清洗)
文章图片
丢弃全为NA的行 将特殊值置为NA之后进行相关操作
Pandas(数据清洗)
文章图片
根据非NA的个数决定是否删除 填充缺失数据 fillna方法是主要的函数。通过一个常数调用fillna就会将缺失值替换为那个常数值。
Pandas(数据清洗)
文章图片
常数替换 通过一个字典调用fillna,就可以实现对不同的列填充不同的值。
Pandas(数据清洗)
文章图片
字典参数,实现分列填值 fillna默认会返回新对象,但也可以对现有对象进行就地修改。
Pandas(数据清洗)
文章图片
默认返回对象,也可以就地修改 对reindexing有效的那些插值方法也可用于fillna
Pandas(数据清洗)
文章图片
插值方法 传入Series的平均值或中位数
Pandas(数据清洗)
文章图片
传入平均值 数据转换 移除重复数据
Pandas(数据清洗)
文章图片
重复数据 DataFrame的duplicated方法返回一个布尔型Series,表示各行是否是重复行
Pandas(数据清洗)
文章图片
判断是否是重复行 drop_duplicates方法,它会返回一个DataFrame,重复的数组会标为False
Pandas(数据清洗)
文章图片
返回无重复行的数组 只希望根据k1列过滤重复项
Pandas(数据清洗)
文章图片
指定列去重 duplicated和drop_duplicates默认保留的是第一个出现的值组合。传入keep=‘last’则保留最后一个
Pandas(数据清洗)
文章图片
指定多列去重并选择保留值 利用函数或映射进行数据转换 根据数组、Series或DataFrame列中的值来实现转换工作
Pandas(数据清洗)
文章图片
数据准备 添加一列表示该肉类食物来源的动物类型。我们先编写一个不同肉类到动物的映射
Pandas(数据清洗)
文章图片
映射 使用Series的str.lower方法,将各个值转换为小写
Pandas(数据清洗)
文章图片
完成映射 也可以传入一个能够完成全部这些工作的函数
Pandas(数据清洗)
文章图片
一个函数搞定 替换值
Pandas(数据清洗)
文章图片
数据准备 -999这个值可能是一个表示缺失数据的标记值。要将其替换为pandas能够理解的NA值
Pandas(数据清洗)
文章图片
替换缺失数据 一次性替换多个值
Pandas(数据清洗)
文章图片
替换多个缺失数据 【Pandas(数据清洗)】让每个值有不同的替换值,可以传递一个替换列表
Pandas(数据清洗)
文章图片
对应替换多个缺失数据

    推荐阅读