温馨提示×

温馨提示×

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

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

如何用Pandas进行数据清洗

发布时间:2025-08-01 04:23:17 来源:亿速云 阅读:133 作者:小樊 栏目:编程语言

使用Pandas进行数据清洗主要包括以下几个步骤:

1. 导入必要的库

import pandas as pd

2. 读取数据

df = pd.read_csv('your_data.csv')  # 根据实际情况选择合适的读取函数,如read_excel, read_sql等

3. 查看数据

  • 查看前几行:
    df.head()
    
  • 查看数据概览:
    df.info()
    
  • 查看缺失值:
    df.isnull().sum()
    

4. 处理缺失值

  • 删除含有缺失值的行:
    df.dropna(inplace=True)
    
  • 填充缺失值:
    df.fillna(value=0, inplace=True)  # 用0填充
    df.fillna(df.mean(), inplace=True)  # 用均值填充数值型列
    

5. 处理重复值

  • 删除重复行:
    df.drop_duplicates(inplace=True)
    

6. 数据类型转换

  • 转换数据类型:
    df['column_name'] = df['column_name'].astype('int')  # 将列转换为整数类型
    df['column_name'] = pd.to_datetime(df['column_name'])  # 将列转换为日期时间类型
    

7. 数据标准化和归一化

  • 标准化:
    from sklearn.preprocessing import StandardScaler
    scaler = StandardScaler()
    df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])
    
  • 归一化:
    from sklearn.preprocessing import MinMaxScaler
    scaler = MinMaxScaler()
    df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])
    

8. 处理异常值

  • 使用箱线图检测异常值:
    import seaborn as sns
    import matplotlib.pyplot as plt
    sns.boxplot(x=df['column_name'])
    plt.show()
    
  • 删除或替换异常值:
    q_low = df['column_name'].quantile(0.01)
    q_hi  = df['column_name'].quantile(0.99)
    df_filtered = df[(df['column_name'] > q_low) & (df['column_name'] < q_hi)]
    

9. 特征工程

  • 创建新特征:
    df['new_column'] = df['column1'] + df['column2']
    
  • 编码分类变量:
    df = pd.get_dummies(df, columns=['categorical_column'])
    

10. 保存清洗后的数据

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

示例代码总结

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler

# 读取数据
df = pd.read_csv('your_data.csv')

# 查看数据
print(df.head())
print(df.info())
print(df.isnull().sum())

# 处理缺失值
df.dropna(inplace=True)

# 处理重复值
df.drop_duplicates(inplace=True)

# 数据类型转换
df['column_name'] = df['column_name'].astype('int')

# 处理异常值
q_low = df['column_name'].quantile(0.01)
q_hi  = df['column_name'].quantile(0.99)
df_filtered = df[(df['column_name'] > q_low) & (df['column_name'] < q_hi)]

# 特征工程
df['new_column'] = df['column1'] + df['column2']

# 编码分类变量
df = pd.get_dummies(df, columns=['categorical_column'])

# 标准化
scaler = StandardScaler()
df[['column1', 'column2']] = scaler.fit_transform(df[['column1', 'column2']])

# 保存清洗后的数据
df.to_csv('cleaned_data.csv', index=False)

通过以上步骤,你可以有效地使用Pandas进行数据清洗,确保数据的质量和一致性。

向AI问一下细节

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

AI
助
手