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中from module import * 的一个坑
Jul 20 Python
利用Python开发微信支付的注意事项
Aug 19 Python
Python用list或dict字段模式读取文件的方法
Jan 10 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
Python排序算法之选择排序定义与用法示例
Apr 29 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
pyqt5实现登录界面的模板
May 30 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
Jul 25 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
python 标准库原理与用法详解之os.path篇
Oct 24 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
操作Oracle的php类
2006/10/09 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
对python中的pop函数和append函数详解
2018/05/04 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
和解协议书
2014/04/16 职场文书
水电维修专业推荐信
2014/09/06 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
2014年保育员工作总结
2014/12/02 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
redis中lua脚本使用教程
2021/11/01 Redis