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的身份证号码自动生成程序
Aug 15 Python
Python random模块常用方法
Nov 03 Python
python编写暴力破解FTP密码小工具
Nov 19 Python
python通过yield实现数组全排列的方法
Mar 18 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
Python iter()函数用法实例分析
Mar 17 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
python tkinter界面居中显示的方法
Oct 11 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
python 如何将office文件转换为PDF
Sep 22 Python
Python特殊属性property原理及使用方法解析
Oct 09 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
php之字符串变相相减的代码
2007/03/19 PHP
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
JS 字符串连接[性能比较]
2009/05/10 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
JS中的phototype详解
2017/02/04 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
详解Python中的正则表达式的用法
2015/04/09 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
OpenCV 边缘检测
2019/07/10 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
化工操作工岗位职责
2014/04/29 职场文书
慰问信范文
2015/02/14 职场文书
2015年大学生工作总结
2015/04/21 职场文书
兴趣班停课通知
2015/04/24 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
政工师工作总结2015
2015/05/26 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫