新闻中心

10分钟学会Python数据清洗方法,实用技巧全解析

栏目:软件教程 日期: 作者:admin 阅读:6

本文面向数据分析初学者和Python爱好者,系统讲解Python数据清洗方法。包括缺失值处理、重复数据处理、数据类型转换、异常值处理、字符串清理等操作。通过实战案例和分步讲解,帮助读者快速掌握数据清洗技巧,为数据分析、可视化和建模打下基础。

正文教程

一、准备工作

  1. 安装并导入常用库

import pandas as pd
import numpy as np

  1. 读取数据

data = pd.read_csv('data.csv')
  1. 查看数据概况

print(data.head())
print(data.info())
print(data.describe())


二、处理缺失值

  1. 查看缺失值

print(data.isnull().sum())
  1. 删除缺失值

data.dropna(inplace=True)
  1. 填充缺失值

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)

  • 技巧:保证数值型、日期型和字符串类型正确,便于分析和计算


五、处理异常值

  1. 使用统计方法检测异常值

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)]

  1. 使用条件筛选

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', '')


七、数据规范化与编码

  1. 类别型编码

data['gender'] = data['gender'].map({'男':1, '女':0})
  1. 数值归一化/标准化

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
data[['age','salary']] = scaler.fit_transform(data[['age','salary']])


八、实用技巧总结

  • 一步步清理数据:先缺失值,再重复值,再异常值

  • 保持数据备份:清洗前保存原始数据

  • 结合pandas方法链:提高代码可读性

  • 针对不同数据类型采用合适方法:数值、类别、文本分开处理

相关资讯