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实现批量检测HTTP服务的状态
Oct 27 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
python怎么提高计算速度
Jun 11 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
python利用线程实现多任务
Sep 18 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
python实现简易名片管理系统
Apr 11 Python
python实现手机推送 代码也就10行左右
Apr 12 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实现二分查找算法代码分享
2011/06/24 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
2016/01/23 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
在微信小程序中使用图表的方法示例
2019/04/25 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
详解python 发送邮件实例代码
2016/12/22 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python自动化UI工具发送QQ消息的实例
2019/08/27 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python Django view 两种return的实现方式
2020/03/16 Python
Python实现画图软件功能方法详解
2020/07/28 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
志愿者服务感言
2014/02/27 职场文书
大三学习计划书范文
2014/05/02 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
给校长的建议书300字
2014/05/16 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle