10分钟学会Python数据清洗方法,实用技巧全解析
本文面向数据分析初学者和Python爱好者,系统讲解Python数据清洗方法。包括缺失值处理、重复数据处理、数据类型转换、异常值处理、字符串清理等操作。通过实战案例和分步讲解,帮助读者快速掌握数据清洗技巧,为数据分析、可视化和建模打下基础。
正文教程
一、准备工作
安装并导入常用库
import pandas as pd
import numpy as np
读取数据
data = pd.read_csv('data.csv')查看数据概况
print(data.head())
print(data.info())
print(data.describe())
二、处理缺失值
查看缺失值
print(data.isnull().sum())
删除缺失值
data.dropna(inplace=True)
填充缺失值
data['age'].fillna(data['age'].mean(), inplace=True)
技巧:数值型可用均值、中位数填充,类别型可用众数填充
三、处理重复数据
data.drop_duplicates(inplace=True)
技巧:可指定列去重:
data.drop_duplicates(subset=['name', 'date'], inplace=True)
四、数据类型转换
data['date'] = pd.to_datetime(data['date'])
data['age'] = data['age'].astype(int)
技巧:保证数值型、日期型和字符串类型正确,便于分析和计算
五、处理异常值
使用统计方法检测异常值
q1 = data['salary'].quantile(0.25)
q3 = data['salary'].quantile(0.75)
iqr = q3 - q1
data = data[(data['salary'] >= q1 - 1.5*iqr) & (data['salary'] <= q3 + 1.5*iqr)]
使用条件筛选
data = data[data['age'] > 0]
六、字符串与文本清理
data['name'] = data['name'].str.strip() # 去掉首尾空格
data['email'] = data['email'].str.lower() # 全部小写
技巧:正则表达式可批量处理复杂文本:
data['phone'] = data['phone'].str.replace(r'D', '')
七、数据规范化与编码
类别型编码
data['gender'] = data['gender'].map({'男':1, '女':0})数值归一化/标准化
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
data[['age','salary']] = scaler.fit_transform(data[['age','salary']])
八、实用技巧总结
一步步清理数据:先缺失值,再重复值,再异常值
保持数据备份:清洗前保存原始数据
结合pandas方法链:提高代码可读性
针对不同数据类型采用合适方法:数值、类别、文本分开处理