python数据分析数据标准化及离散化详解


Posted in Python onFebruary 26, 2018

本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下

标准化

1、离差标准化

是对原始数据的线性变换,使结果映射到[0,1]区间。方便数据的处理。消除单位影响及变异大小因素影响。
基本公式为:

x'=(x-min)/(max-min)

代码:

#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#离差标准化
data1 = (data-data.min())/(data.max()-data.min())
print(data1)

运行结果

python数据分析数据标准化及离散化详解

2、标准差标准化

消除单位影响以及变量自身变异影响。(零-均值标准化)
基本公式为:

x'=(x-平均数)/标准差

python代码:

#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#标准差标准化
data1 = (data-data.mean())/data.std()
print(data1)

运行结果:

python数据分析数据标准化及离散化详解

3、小数定标标准化

消除单位影响
基本公式为:
其中j=lg(max(|x|)),即以10为底的x的绝对值最大的对数

x' = x/10^j

实现代码为:

#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#标准差标准化
j = np.ceil(np.log10(data.abs().max()))#进一取整,abs()为取绝对值
data1 = data/10**j
print(data1)

结果:

python数据分析数据标准化及离散化详解

离散化

离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法

1、等宽离散化

将连续数据按照等宽区间标准离散化数据,好处之一是处理的数据是有限个数据而不是无限多。
使用pandas的cut方法。非等宽只需要更改cut的第二个参数,例如:第二个参数为[1,100,3000,10000,200000],即划分为了四个区间。

#!/user/bin/env python
#-*- coding:utf-8 -*-
#author:M10
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import mysql.connector
conn = mysql.connector.connect(host='localhost',
            user='root',
            passwd='123456',
            db='python')#链接本地数据库
sql = 'select price,comment from taob'#sql语句
data = pd.read_sql(sql,conn)#获取数据
#离散化
data1 = data['price'].T.values#获取价格的一维数组
lable=['很低','低','中','高','很高']
data2 = pd.cut(data1,5,labels=lable)
print(data2)

执行结果:

python数据分析数据标准化及离散化详解

2、等频率离散化

将相同数量的数据放进一个区间。

3、一维聚类离散化

按属性对数据进行聚类离散。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python处理cookie详解
Feb 07 Python
python中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
Python 迭代器工具包【推荐】
May 06 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
python 定时器,轮询定时器的实例
Feb 20 Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 Python
Python创建数字列表的示例
Nov 28 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 #Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 #Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 #Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 #Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 #Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 #Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 #Python
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
基于mysql的bbs设计(二)
2006/10/09 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
隐性调用php程序的方法
2015/06/13 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
Python三级目录展示的实现方法
2016/09/28 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
文明礼仪事迹材料
2014/01/09 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
工作检讨书500字
2014/10/19 职场文书
质量保证书怎么写
2015/02/27 职场文书
正规借条模板
2015/05/26 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL