数据处理--数据转换的常用方法及其Python实现

 

 

目录

 1. 数据清洗---缺失值处理

 2. 数值型数据特征转换

标准化&归一化

2.1 Z-Score标准化

2.2 归一化Max-Min(  # MinMaxScaler标准化处理)

3. 类别型数据特征转换( 数据编码)

3.1 标签编码

3.2 OneHot(独热编码)


       数据预处理是指在对数据进行分析或建模前对数据进行清洗、处理、转换等操作,以提高数据的质量和可用性。常用的数据预处理方法有:

  • 数据清洗:包括填充缺失值、去除重复数据、处理异常值等。

  • 特征选择:从原始数据中选取对建模有用的特征,去除冗余特征。

  • 特征转换:对特征进行编码、归一化处理、离散化等。

  • 数据集划分:将数据集划分为训练集、验证集和测试集,保证模型的可靠性和泛化能力。

  • 数据集平衡:对不平衡的数据集进行处理,如欠采样、过采样等。

  • 数据集扩增:对数据进行增强,如旋转、镜像等。

  • 数据降维:对高维数据进行降维,如主成分分析、线性判别分析等。

  • 数据集合并:将多个数据集合并成一个。

  • 数据归档:将数据进行归档保存,便于日后的使用。


下面主要介绍基本数据清洗及部分特征转换操作

 1. 数据清洗---缺失值处理

数据集中经常存在缺失值,我们可以通过各种方法处理这些值,比如删除或填充。

- 删除:删除缺失值是最简单的处理方法。但它可能会导致信息的丢失。

import pandas as pd
df = pd.read_csv('data.csv')
df = df.dropna()

- 填充:通常可以使用列的平均值、中位数或众数填充缺失值。(填充有多种方式,后续补充)

df = pd.read_csv('data.csv')
df = df.fillna(df.mean())

 2. 数值型数据特征转换

标准化&归一化

       数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。

示例代码:

import pandas as pd 
from sklearn import preprocessing
import matplotlib.pyplot as plt
df = pd.read_csv('data.csv')

2.1 Z-Score标准化

数据标准化将数据缩放到具有0均值和1标准偏差的范围内。

# Z-Score标准化
from sklearn.preprocessing import StandardScaler
zscore_scaler = preprocessing.StandardScaler()  # 建立StandardScaler对象
df['normalized_column'] = zscore_scaler.fit_transform(df[['original_column']])  # StandardScaler标准化处理

2.2 归一化Max-Min(  # MinMaxScaler标准化处理)

数据归一化将数据缩放到0和1之间。

#  归一化Max-Min
from sklearn.preprocessing import MinMaxScaler
minmax_scaler = preprocessing.MinMaxScaler()  # 建立MinMaxScaler模型对象
df['normalized_column'] = minmax_scaler.fit_transform(df[['original_column']])

3. 类别型数据特征转换( 数据编码)

       类别型数据可以转换为数字,使其可以被模型处理。数据编码是一种将分类数据转化为数值型数据的方法,使其可以被机器学习模型处理。

3.1 标签编码

每个类别被映射到一个整数。适用于有序分类数据。

# 标签编码
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
df['encoded_column'] = encoder.fit_transform(df['categorical_column'])

3.2 OneHot(独热编码)

为每个类别创建一个新的二进制特征。适用于无序分类数据。

# OneHot编码
df = pd.get_dummies(df, columns=['categorical_column'])
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值