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 相关文章推荐
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
对Python中内置异常层次结构详解
Oct 18 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
PyTorch基本数据类型(一)
May 22 Python
pytorch 输出中间层特征的实例
Aug 17 Python
简单介绍django提供的加密算法
Dec 18 Python
PYQT5 vscode联合操作qtdesigner的方法
Mar 24 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
通过实例简单了解Python sys.argv[]使用方法
Aug 04 Python
python3实现简单飞机大战
Nov 29 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/11/27 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
简单了解Ajax表单序列化的实现方法
2019/06/14 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
python opencv进行图像拼接
2020/03/27 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
简历的自荐信
2013/12/19 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
环保公益广告语
2014/03/13 职场文书
人民调解员培训方案
2014/06/05 职场文书
大学活动总结模板
2014/07/10 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书