楼主: 2311970557
99 0

[其他] Python 数据清洗与预处理实战技巧 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-4-12
最后登录
2018-4-12

楼主
2311970557 发表于 2025-11-19 09:39:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

数据分析中,数据清理和预处理是最费时但至关重要的步骤。数据质量直接关系到分析结果的精确性和可信度。本文总结了 Python 数据清洗的实际技巧,帮助你高效解决各种数据问题。

一、数据缺失值处理

  1. 检查缺失值
    import pandas as pd df = pd.read_csv('data.csv') missing = df.isnull().sum() # 查看每列缺失值数量
  2. 删除缺失值
    df.dropna(subset=['user_id'], inplace=True) # 删除关键字段缺失的行
  3. 填充缺失值
    常用方法:
    均值填充:
    df['amount'].fillna(df['amount'].mean(), inplace=True)

    中位数填充:
    df['amount'].fillna(df['amount'].median(), inplace=True)

    常数填充:
    df['category'].fillna('未知', inplace=True)

二、数据重复值处理

# 查看重复行 duplicates = df.duplicated(subset=['order_id']) # 删除重复行 df.drop_duplicates(subset=['order_id'], inplace=True)

三、异常值处理

  1. 使用箱型图检测异常值
    import seaborn as sns sns.boxplot(x=df['amount'])
  2. 根据分位数过滤异常值
    q_low = df['amount'].quantile(0.01) q_high = df['amount'].quantile(0.99) df_filtered = df[(df['amount'] >= q_low) & (df['amount'] <= q_high)]
  3. 根据业务规则处理异常值
    设置上下限:如订单金额不能为负数
    异常值单独标记或剔除

四、数据类型转换

  • 将分类变量转为 category 类型
    df['category'] = df['category'].astype('category')
  • 将数值列转换为合适的 int 或 float 类型
    df['user_id'] = df['user_id'].astype('int32')
  • 日期列转换
    df['order_date'] = pd.to_datetime(df['order_date'])

五、数据标准化与归一化

  1. 标准化(Z-score)
    from sklearn.preprocessing import StandardScaler scaler = StandardScaler() df[['amount_scaled']] = scaler.fit_transform(df[['amount']])
  2. 归一化(Min-Max)
    from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() df[['amount_norm']] = scaler.fit_transform(df[['amount']])

    适用于模型训练和特征处理

参考案例:www.cdljauf.cn

六、文本与分类数据处理

  • 去除空格、大小写统一
    df['category'] = df['category'].str.strip().str.lower()
  • 分类编码(Label Encoding / One-Hot Encoding)
    df = pd.get_dummies(df, columns=['category'], drop_first=True)

七、实战建议

先探索,再清洗
使用

info()

,
describe()

查看数据概况
确定缺失值、异常值和数据类型问题
记录清洗步骤
保持数据处理流程可复现
使用函数或 notebook 模块化操作
结合业务规则
数据清洗不仅是技术问题,还要结合实际业务判断
数据验证
清洗后检查数据一致性、完整性和合理性

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 实战技巧 预处理 duplicates duplicate

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-5 20:24