Python数据预处理完整流程与代码实现

阿橙
阿橙
发布时间:2026-10-13 | 6人浏览过
原创

本文详解Python数据预处理的完整流程,涵盖标准库导入、数据集读取、缺失值填补、分类变量编码、训练测试集划分及特征缩放。通过具体代码实例展示如何利用sklearn库完成各步骤,帮助开发者掌握机器学习前的数据清洗关键技能。

Python数据预处理概述

本文提供了一套完整的Python数据预处理代码示例,供读者参考和学习。

第一步是导入必要的标准库,为后续数据处理奠定基础。

环境准备与数据导入


import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

第二步涉及导入实际的数据集,通常通过读取CSV文件等方式获取原始数据。

数据集加载与变量提取


dataset = pd.read_csv('data (1).csv') # read_csv:读取csv文件
#创建一个包含所有自变量的矩阵,及因变量的向量
#iloc表示选取数据集的某行某列;逗号之前的表示行,之后的表示列;冒号表示选取全部,没有冒号,则表示选取第几列;values表示选取数据集里的数据。
X = dataset.iloc[:, :-1].values # 选取数据,不选取最后一列。
y = dataset.iloc[:, 3].values # 选取数据,选取每行的第3列数据

第三步主要处理数据中常见的缺失值问题,确保数据的完整性。

缺失值处理策略


from sklearn.preprocessing import Imputer #进行数据挖掘及数据分析的标准库,Imputer缺失数据的处理
#Imputer中的参数:missing_values 缺失数据,定义怎样辨认确实数据,默认值:nan ;strategy 策略,补缺值方式 : mean-平均值 , median-中值 , most_frequent-出现次数最多的数 ; axis =0取列 =1取行 
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
imputer = imputer.fit(X[:, 1:3])#拟合fit
X[:, 1:3] = imputer.transform(X[:, 1:3])

第四步针对分类数据进行编码转换,将文本标签转化为模型可理解的数值形式。

分类数据编码转换


from sklearn.preprocessing import LabelEncoder,OneHotEncoder
labelencoder_X=LabelEncoder()
X[:,0]=labelencoder_X.fit_transform(X[:,0])
onehotencoder=OneHotEncoder(categorical_features=[0])
X=onehotencoder.fit_transform(X).toarray()
#因为Purchased是因变量,Python里面的函数可以将其识别为分类数据,所以只需要LabelEncoder转换为分类数字
labelencoder_y=LabelEncoder()
y=labelencoder_y.fit_transform(y)

第五步是将处理好的数据集划分为训练集和测试集,以便后续模型训练与评估。

数据集划分方法


from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=0)
#X_train(训练集的字变量),X_test(测试集的字变量),y_train(训练集的因变量),y_test(训练集的因变量)
#训练集所占的比重0.2~0.25,某些情况也可分配1/3的数据给训练集;train_size训练集所占的比重
#random_state决定随机数生成的方式,随机的将数据分配给训练集和测试集;random_state相同时会得到相同的训练集和测试集

第六步进行特征缩放,虽然并非所有算法都需要,但在某些场景下能显著提升模型性能。

特征缩放技术


#特征缩放(两种方式:一:Standardisation(标准化);二:Normalisation(正常化))
from sklearn.preprocessing import StandardScaler
sc_X=StandardScaler()
X_train=sc_X.fit_transform(X_train)#拟合,对X_train进行缩放
X_test=sc_X.transform(X_test)#sc_X已经被拟合好了,所以对X_test进行缩放时,直接转换X_test

完整预处理模板代码

以下是数据预处理的完整模板代码,整合了上述所有步骤。

(1)导入标准库 (2)导入数据集 (3)缺失和分类很少遇到 (4)将数据集分割为训练集和测试集 (5)特征缩放,大部分情况下不需要,但是某些情况需要特征缩放

以上所述是小编给大家介绍的Python数据预处理详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表