Python----数据预处理代码实例
本文实例为大家分享了Python数据预处理的具体代码,供大家参考,具体内容如下
1.导入标准库
importnumpyasnp importmatplotlib.pyplotasplt importpandasaspd
2.导入数据集
dataset=pd.read_csv('data(1).csv')#read_csv:读取csv文件 #创建一个包含所有自变量的矩阵,及因变量的向量 #iloc表示选取数据集的某行某列;逗号之前的表示行,之后的表示列;冒号表示选取全部,没有冒号,则表示选取第几列;values表示选取数据集里的数据。 X=dataset.iloc[:,:-1].values#选取数据,不选取最后一列。 y=dataset.iloc[:,3].values#选取数据,选取每行的第3列数据
3.缺失数据
fromsklearn.preprocessingimportImputer#进行数据挖掘及数据分析的标准库,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])
4.分类数据
fromsklearn.preprocessingimportLabelEncoder,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)
5.将数据集分为训练集和测试集
fromsklearn.model_selectionimporttrain_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相同时会得到相同的训练集和测试集
6.特征缩放
#特征缩放(两种方式:一:Standardisation(标准化);二:Normalisation(正常化)) fromsklearn.preprocessingimportStandardScaler 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
7.数据预处理模板
(1)导入标准库
(2)导入数据集
(3)缺失和分类很少遇到
(4)将数据集分割为训练集和测试集
(5)特征缩放,大部分情况下不需要,但是某些情况需要特征缩放
以上所述是小编给大家介绍的Python数据预处理详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!