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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
跟老齐学Python之有容乃大的list(4)
Sep 28 Python
Python实现向QQ群成员自动发邮件的方法
Nov 19 Python
python检测远程端口是否打开的方法
Mar 14 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
Python检查ping终端的方法
Jan 26 Python
Django  ORM 练习题及答案
Jul 19 Python
Pyecharts地图显示不完成问题解决方案
May 11 Python
Python 如何对文件目录操作
Jul 10 Python
90行Python代码开发个人云盘应用
Apr 20 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+xslt在windows平台上
2006/10/09 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
js form action动态修改方法
2008/11/04 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
python使用mysql数据库示例代码
2017/05/21 Python
pandas重新生成索引的方法
2018/11/06 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
浅析Django中关于session的使用
2019/12/30 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
学习十八大报告感言
2014/02/04 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
简历自我评价优缺点
2015/03/11 职场文书
酒桌上的开场白
2015/06/01 职场文书
教务处教学工作总结
2015/08/10 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技