使用Python快速处理Excel操作笔记四:表格数据缺失值与异常值的处理 您所在的位置:网站首页 excel删除后续所有行 使用Python快速处理Excel操作笔记四:表格数据缺失值与异常值的处理

使用Python快速处理Excel操作笔记四:表格数据缺失值与异常值的处理

2023-11-24 07:39| 来源: 网络整理| 查看: 265

1、缺失值 当读取csv文件或者excel文件生成DataFrame时,某些单元格的数据是缺失的,缺失的部分会显示为NaN,None或者NaT(取决于单元格的数据类型) NaN 表示数字类型的缺失值 NaT 表示时间类型的缺失值 None 表示字符串类型的缺失值 实际项目中,如果缺失值一直存在原始的数据源总,后续数据分析时很可能有错误的结果 需要根据实际情况进行抉择,来降低缺失值对于分析结果的影响 a 按单元格查看缺失值情况 使用isna函数

# 假设data_info为已经读取为DataFrame data_info.isna()

该函数返回的是一个新的DataFrame,而内容是由布尔型数据组成,原始的DataFrame中的单元格如果数据缺失,在新的DataFrame中对应的单元格的内容是False,否则为True b 按列查看缺失值

经常使用列聚合缺失值的数量

data_info.isna().sum()

返回每列对应缺失值的数量

c 按行查看缺失值 使用行聚合缺失的方法查看

data_info.isna().sum(1)

sum中的1是设置为行的参数,不是指行的索引值 d 过滤出缺失值的列

data_info.loc[:, data_info.isna().any()]

上面代码是行索引部分区所有的行、 列索引部分取所有包含缺失值的列 any类似sum函数,只是做布尔聚合 e 过滤出缺失值的行

data_info.loc[data_info.isna().any(1), :]

输出的是行中有缺失值的行 f 缺失值的个数

data_info.isna().sum().sum()

输出的值为整个DataFrame包含多少个缺失值 g 缺失值的删除 使用删除缺失值的方法dropna

删除所有缺失值所在的行 data_info.dropna()

2)输出所有缺失值的所在的列

data_info.dropna(axis=1)

3)删除少于X个正常值的行

data_info.dropna(thresh=2)

上述例子是删除正常值小于2个的行 4)参考某几列作为删除依据

data_info.dropna(subset=['居住地'])

则会删除居住地为缺失值的行 注意:dropna方法默认不会改变调用他的DataFrame,如果需要修改需要进行赋值 5)缺失值替换 i 全表固定值替换

data_info.fillna('合肥')

则DataFrame里面的缺失值都会用合肥进行填充 ii 按列固定值替换

data_info['居住地'] = data_info['居住地'].fillna('河北')

DataFrame中居住地一列的缺失值都会用河北填充 iii 按行固定值替换

data_info.loc["李洛克", :] = data_info.loc["李洛克", :].fillna("20")

iiii 最近有效值替换

data_info.fillna(method='ffill')

当method为ffill时,将上面的值往下填充,当method为bfill时会用下一个有效值往上填充 iiiii 处理重复值

data_info.duplicated()

duplicated函数是识别是否存在重复的行,返回 布尔类型 使用drop_duplicates进行删除重复值

data_info = data_info.drop_duplicates()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有