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 中使用 GLOBAL引发的一系列问题
Oct 12 Python
Python中的浮点数原理与运算分析
Oct 12 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
PyCharm安装第三方库如Requests的图文教程
May 18 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
对python中UDP,socket的使用详解
Aug 22 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
Sep 11 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
Sep 16 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
tensorboard显示空白的解决
Feb 15 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 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实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
JS常用函数使用指南
2014/11/23 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Python实现Kmeans聚类算法
2020/06/10 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
2018/10/15 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
python 实用工具状态机transitions
2020/11/21 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
什么是servlet
2012/05/08 面试题
大专毕业生自我评价分享
2013/11/10 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
美容院店长岗位职责
2014/04/08 职场文书
小学生评语大全
2014/04/18 职场文书
C++程序员求职信
2014/05/07 职场文书
护士节演讲稿开场白
2014/08/25 职场文书
高中生旷课检讨书
2014/10/08 职场文书
光荣之路观后感
2015/06/12 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android
浅谈Redis中的RDB快照
2021/06/29 Redis