温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python Pandas如何进行数据清洗

发布时间:2025-08-21 20:06:41 来源:亿速云 阅读:93 作者:小樊 栏目:编程语言

在Python的Pandas库中,数据清洗是一个非常重要的步骤,它涉及到处理缺失值、异常值、重复数据、数据类型转换等多个方面。以下是一些常用的数据清洗操作:

1. 导入必要的库

import pandas as pd

2. 读取数据

df = pd.read_csv('your_data.csv')  # 假设数据存储在CSV文件中

3. 查看数据

print(df.head())  # 查看前几行数据
print(df.info())  # 查看数据类型和缺失值情况
print(df.describe())  # 查看数据的统计描述

4. 处理缺失值

4.1 检查缺失值

print(df.isnull().sum())  # 查看每列的缺失值数量

4.2 删除缺失值

df_cleaned = df.dropna()  # 删除包含缺失值的行
# 或者删除特定列的缺失值
df_cleaned = df.dropna(subset=['column_name'])

4.3 填充缺失值

# 使用均值填充
df['column_name'] = df['column_name'].fillna(df['column_name'].mean())

# 使用中位数填充
df['column_name'] = df['column_name'].fillna(df['column_name'].median())

# 使用众数填充
df['column_name'] = df['column_name'].fillna(df['column_name'].mode()[0])

# 使用固定值填充
df['column_name'] = df['column_name'].fillna(0)

5. 处理重复数据

# 检查重复行
print(df.duplicated().sum())

# 删除重复行
df_cleaned = df.drop_duplicates()

# 删除特定列的重复行
df_cleaned = df.drop_duplicates(subset=['column_name'])

6. 数据类型转换

# 将字符串转换为日期
df['date_column'] = pd.to_datetime(df['date_column'])

# 将字符串转换为数值类型
df['numeric_column'] = pd.to_numeric(df['numeric_column'], errors='coerce')

# 将分类数据转换为数值类型(独热编码)
df = pd.get_dummies(df, columns=['categorical_column'])

7. 处理异常值

7.1 使用统计方法检测异常值

# 使用Z-score检测异常值
from scipy import stats
df['z_score'] = stats.zscore(df['numeric_column'])
df_cleaned = df[(df['z_score'] < 3) & (df['z_score'] > -3)]

7.2 使用IQR检测异常值

Q1 = df['numeric_column'].quantile(0.25)
Q3 = df['numeric_column'].quantile(0.75)
IQR = Q3 - Q1
df_cleaned = df[(df['numeric_column'] >= (Q1 - 1.5 * IQR)) & (df['numeric_column'] <= (Q3 + 1.5 * IQR))]

8. 保存清洗后的数据

df_cleaned.to_csv('cleaned_data.csv', index=False)

以上是一些基本的数据清洗操作,实际应用中可能需要根据具体的数据情况进行调整和扩展。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI