互联网技术 / 互联网资讯 · 2023年12月31日

数据清洗方法汇总

在持续整理“对比 Excel,学习 pandas 系列”的学习笔记时,前一篇文章获得了广泛关注。本文将系统梳理在 Excel 与 pandas 中实现数据清洗的多种方法。

1. 处理数据中的空值

在真实数据处理中,往往会出现缺失的特征数据,也就是空值。为了后续分析,需要对空值进行妥善处理。

空值的处理方式有多种,通常可以分为删除或填充两类。

Excel 通过“查找和替换”实现空值的统一替换:

也可以通过“定位”来删除包含空值的行或列:

pandas 的处理方式更为灵活,常用 dropna 函数删除空值:

import pandas as pd data=pd.read_csv(‘成绩表.csv’,encoding=’gbk’) data.dropna(how=’any’)

使用 fillna 实现空值的填充:

① 使用数字 0 填充空值

data.fillna(value=0)

② 使用列的平均值填充空值

data[‘语文’].fillna(data[‘语文’].mean())

2. 删除空格

Excel 清理空格也很直接,通常通过替换完成。

pandas 删除空格同样简单,主要依赖 map 与 strip:

data[‘姓名’]=data[‘姓名’].map(str.strip)

3. 大小写转换

在 Excel 中,大小写转换可使用 upper() 与 lower() 两类函数。

pandas 中的转换方式同样是 upper() 与 lower():

data[‘拼音’]=data[‘拼音’].str.upper()

data[‘拼音’]=data[‘拼音’].str.lower()

4. 更改数据格式

Excel 中通过快捷键 Ctrl+1 打开“设置单元格格式”来修改数据格式:

pandas 使用 astype 来修改数据格式,以将“语文”列改成整数为例:

data[‘语文’].dropna(how=’any’).astype(‘int’)

5. 更改列名称

Excel 更改列名称不再赘述,常见做法即可。

pandas 使用 rename 函数来变更列名称,示例代码如下:

data.rename(columns={‘语文’:’语文成绩’})

6. 删除重复值

在 Excel 的数据选项中有“删除重复项”功能,默认保留第一个出现的值,删除后续重复值。

pandas 使用 drop_duplicates 函数删除重复值:

data[‘数学’].drop_duplicates() # 默认删除后面的重复值 data[‘数学’].drop_duplicates(keep=’last’)

7. 修改及替换数据

Excel 中通过“查找和替换”实现数值的替换。

Pandas 中则使用 replace 函数实现数据替换:

data[‘姓名’].replace(‘成功’,’失败’)