数据分析 —— 数据预处理

一、什么是数据预处理

数据预处理(Data Preprocessing)是数据分析和机器学习中至关重要的步骤,旨在将原始数据转换为更高质量、更适合分析或建模的形式。由于真实世界的数据通常存在不完整、不一致、噪声或冗余等问题,预处理可以帮助提高数据的可用性和模型的性能。


数据预处理的主要步骤

  1. 数据清洗(Data Cleaning)

    • 处理缺失值:填充(均值、中位数、众数等)、删除缺失样本或字段。

    • 处理噪声数据:平滑或剔除异常值(如使用分箱、聚类或统计方法)。

    • 纠正不一致数据:统一格式(如日期格式、单位)、修正逻辑错误。

  2. 数据集成(Data Integration)

    • 合并多个数据源,解决冗余、冲突或重复问题(例如同名不同义的字段)。

  3. 数据变换(Data Transformation)

    • 标准化(Standardization):将数据缩放到均值为0、标准差为1(如Z-score)。

    • 归一化(Normalization):将数据缩放到固定范围(如[0,1])。

    • 离散化(Discretization):将连续数值分段(如年龄分为“青年”“中年”“老年”)。

    • 特征编码:将分类变量转换为数值(如独热编码、标签编码)。

  4. 数据归约(Data Reduction)

    • 降低数据规模,同时保留关键信息,例如:

      • 特征选择:筛选重要特征(如相关系数、随机森林重要性)。

      • 降维:使用主成分分析(PCA)、t-SNE等方法压缩维度。

  5. 数据分箱(Binning)

    • 将连续值划分为区间,减少噪声影响(如将收入分为“低、中、高”)。


数据预处理的目的

  • 提高数据质量:消除噪声、错误和不一致性。

  • 提升模型性能:通过标准化、归一化等手段优化数据分布。

  • 减少计算成本:降维和归约可加速模型训练。

  • 适配算法需求:许多算法对输入数据的格式和范围敏感(如神经网络需要归一化)。


举例说明

  • 原始数据问题:某用户年龄字段包含“-1”(异常值),收入字段有缺失。

  • 预处理后:删除“-1”,用中位数填充缺失值,并对收入进行归一化处理。

数据预处理是数据科学流程中不可或缺的环节,直接影响最终结果的可靠性和模型效果。

二、数据检测

1.准备数据

2.查看NaN值

方法一:

isnull():是查看数据是否存在NaN值,如果有则返回True

方法二:

notnull():是查数据是否不存在NaN值,如果不存在则返回True

三、缺失值处理

1.查看缺失值的占比

2.提取出完整的数据

这里使用另外一组数据

3.清除全空值

  • dropna 是 Pandas 中 DataFrame 的一个方法,用于删除包含缺失值(NaN)的行或列,目的是清理数据中的无效缺失信息。
  • how 是 dropna 方法的一个参数,用于指定删除行或列的条件:
    • 当 how='any' 时,只要行或列中 存在任意一个 NaN,就删除该行或列。
    • 当 how='all' 时,仅当行或列中 所有值都为 NaN 时,才删除该行或列。

4.筛选非空值数

5.某一列 = NaN,删除整行数据

6.缺失值的替换处理

7.缺失值的填充处理

  • fillna 是 Pandas 中 DataFrame 的一个方法,用于填充数据中的缺失值(NaN),其常见属性(参数)包括 value(填充的具体值)、method(填充方法)、axis(指定轴,0<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白—人工智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值