数据预处理方法大全+实战代码(四)

前言

继续详细介绍缺失值处理异常值检测数据一致性处理。这是数据清洗的第一步,关键步骤。
上一篇因为篇幅的原因,只介绍了异常值检测,本文介绍数据一致性处理

1、重复值检测与去重

使用df.duplicated()df.drop_duplicates() 方法如果对应的数据是重复的,duplicated()会返回 True,否则返回 False。

# 检测重复行
df.duplicated()

# 检测特定列的重复值
df.duplicated(subset=['列名'])

# 删除完全重复的行
df.drop_duplicates()

# 基于特定列删除重复项,保留第一次出现的
df.drop_duplicates(subset=['name'], keep='first')

# 标记重复项
df.duplicated(subset=['name'], keep=False)

2、类型转换与数据格式统一

# 查看数据基本信息
df.dtypes
df.dtypes.unique()
df.unique()
df.dtypes.value_counts()
df.info()

# 转换整数类型
 pd.to_numeric(df['列名'])

# 转换 age 为整数类型,处理未知值
pd.to_numeric(df['age'], errors='coerce')

# 转换 salary 为浮点数类型,移除逗号
df['salary'].str.replace(',', '').astype(float)

# 转换 join_date 为日期类型
pd.to_datetime(df['join_date'])

# 处理缺失值
df['age'].fillna(df['age'].mean(), inplace=True)

# 格式统一:将所有字符串转为小写
df['name'].str.lower()

3、不一致记录的标注与修正

  • 标准化编码:统一使用相同的编码方式(如UTF-8)。

  • 规范化值:例如,将"Street"、"St."、"St"统一为一种表示。

  • 单位转换:确保所有数值使用相同的单位。

  • 拼写检查:修正拼写错误

# 经常用到的函数
df.apply() #可以对每行、每列、每个值应用函数
df.replace() # 对数据进行替换

# 标准化城市名称--示例
city_mapping = {
    'New York City': 'New York',
    'Chcago': 'Chicago',
    'San Fransisco': 'San Francisco'
}
df['city'] = df['city'].replace(city_mapping)

总结

笔者写了三篇文章介绍缺失值处理数据预处理方法大全+实战代码(一)(二)异常值检测数据预处理方法大全+实战代码(三)数据一致性处理。这是数据清洗的第一步,关键步骤。可以显著提高数据质量,为后续的分析和建模工作奠定坚实的基础。在实际应用中,需要根据具体的数据特点和业务需求,选择合适的方法进行数据清洗。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容