Python数据预处理之数据规范化(归一化)示例


Posted in Python onJanuary 08, 2019

本文实例讲述了Python数据预处理之数据规范化。分享给大家供大家参考,具体如下:

数据规范化

为了消除指标之间的量纲和取值范围差异的影响,需要进行标准化(归一化)处理,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。

数据规范化方法主要有:

- 最小-最大规范化
- 零-均值规范化

数据示例

Python数据预处理之数据规范化(归一化)示例

代码实现

#-*- coding: utf-8 -*-
#数据规范化
import pandas as pd
import numpy as np
datafile = 'normalization_data.xls' #参数初始化
data = pd.read_excel(datafile, header = None) #读取数据
(data - data.min())/(data.max() - data.min()) #最小-最大规范化
(data - data.mean())/data.std() #零-均值规范化

从命令行可以看到下面的输出:

>>> (data-data.min())/(data.max()-data.min(
          0         1         2         3
0  0.074380  0.937291  0.923520  1.000000
1  0.619835  0.000000  0.000000  0.850941
2  0.214876  0.119565  0.813322  0.000000
3  0.000000  1.000000  1.000000  0.563676
4  1.000000  0.942308  0.996711  0.804149
5  0.264463  0.838629  0.814967  0.909310
6  0.636364  0.846990  0.786184  0.929571

>>> (data-data.mean())/data.std()
          0         1         2         3
0 -0.905383  0.635863  0.464531  0.798149
1  0.604678 -1.587675 -2.193167  0.369390
2 -0.516428 -1.304030  0.147406 -2.078279
3 -1.111301  0.784628  0.684625 -0.456906
4  1.657146  0.647765  0.675159  0.234796
5 -0.379150  0.401807  0.152139  0.537286
6  0.650438  0.421642  0.069308  0.595564

上述代码改为使用print语句打印,如下:

#-*- coding: utf-8 -*-
#数据规范化
import pandas as pd
import numpy as np
datafile = 'normalization_data.xls' #参数初始化
data = pd.read_excel(datafile, header = None) #读取数据
print((data - data.min())/(data.max() - data.min())) #最小-最大规范化
print((data - data.mean())/data.std()) #零-均值规范化

可输出如下打印结果:

          0         1         2         3
0  0.074380  0.937291  0.923520  1.000000
1  0.619835  0.000000  0.000000  0.850941
2  0.214876  0.119565  0.813322  0.000000
3  0.000000  1.000000  1.000000  0.563676
4  1.000000  0.942308  0.996711  0.804149
5  0.264463  0.838629  0.814967  0.909310
6  0.636364  0.846990  0.786184  0.929571
          0         1         2         3
0 -0.905383  0.635863  0.464531  0.798149
1  0.604678 -1.587675 -2.193167  0.369390
2 -0.516428 -1.304030  0.147406 -2.078279
3 -1.111301  0.784628  0.684625 -0.456906
4  1.657146  0.647765  0.675159  0.234796
5 -0.379150  0.401807  0.152139  0.537286
6  0.650438  0.421642  0.069308  0.595564

附:代码中使用到的normalization_data.xls点击此处本站下载

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中的引用和拷贝浅析
Nov 22 Python
Python中的多重装饰器
Apr 11 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
深入理解python try异常处理机制
Jun 01 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
python之super的使用小结
Aug 13 Python
浅谈Python 列表字典赋值的陷阱
Jan 20 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 Python
python爬取youtube视频的示例代码
Mar 03 Python
Python实现的拉格朗日插值法示例
Jan 08 #Python
Python3 安装PyQt5及exe打包图文教程
Jan 08 #Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 #Python
Django之模型层多表操作的实现
Jan 08 #Python
对python mayavi三维绘图的实现详解
Jan 08 #Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 #Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 #Python
You might like
PHP VS ASP
2006/10/09 PHP
使用字符串函数输出整数化的PHP版本号
2006/10/09 PHP
PHP 微信支付类 demo
2015/11/30 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
Javascript----文件操作
2007/01/18 Javascript
实现JavaScript中继承的三种方式
2009/10/16 Javascript
js验证输入是否为手机号码或电话号码示例
2013/12/30 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
javascript的this关键字详解
2019/05/20 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
ubuntu系统下使用pm2设置nodejs开机自启动的方法
2018/05/12 NodeJs
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
Joules美国官网:出色的英国风格
2017/10/30 全球购物
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
高级电工工作职责
2013/11/21 职场文书
yy结婚证婚词
2014/01/10 职场文书
工作收入证明模板
2014/10/10 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
一年级语文教学随笔
2015/08/14 职场文书