Python----数据预处理代码实例


Posted in Python onMarch 20, 2019

本文实例为大家分享了Python数据预处理的具体代码,供大家参考,具体内容如下

1.导入标准库

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

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.缺失数据

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])

4.分类数据

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)

5.将数据集分为训练集和测试集

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相同时会得到相同的训练集和测试集

6.特征缩放

#特征缩放(两种方式:一: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

7.数据预处理模板

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

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

Python 相关文章推荐
把项目从Python2.x移植到Python3.x的经验总结
Apr 20 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
十个Python程序员易犯的错误
Dec 15 Python
python去除文件中重复的行实例
Jun 29 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
python调用win32接口进行截图的示例
Nov 11 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
利用Python实现Picgo图床工具
Nov 23 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 #Python
python实现维吉尼亚算法
Mar 20 #Python
python多线程抽象编程模型详解
Mar 20 #Python
基于python生成器封装的协程类
Mar 20 #Python
python实现栅栏加解密 支持密钥加密
Mar 20 #Python
python实现Virginia无密钥解密
Mar 20 #Python
python实现维吉尼亚加密法
Mar 20 #Python
You might like
PHP 面向对象实现代码
2009/11/11 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
BootStrap selectpicker
2016/06/20 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
讲解Python中的标识运算符
2015/05/14 Python
Python tkinter事件高级用法实例
2018/01/31 Python
对numpy中轴与维度的理解
2018/04/18 Python
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
房地产销售计划书
2014/01/10 职场文书
安全生产演讲稿
2014/05/09 职场文书
自主招生教师推荐信
2014/05/10 职场文书
施工单位安全责任书
2014/07/24 职场文书
计划生育责任书
2015/05/09 职场文书
2015年统战工作总结
2015/05/19 职场文书
导游词之天津盘山
2019/11/01 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
python文件与路径操作神器 pathlib
2022/04/01 Python
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript
Nginx安装配置详解
2022/06/25 Servers