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 相关文章推荐
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
Python3编码问题 Unicode utf-8 bytes互转方法
Oct 26 Python
python批量获取html内body内容的实例
Jan 02 Python
Python一个简单的通信程序(客户端 服务器)
Mar 06 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
python实现图像拼接功能
Mar 23 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
AngularJS基础知识
2014/12/21 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
Puppet的一些技巧
2018/09/17 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
python 字典(dict)按键和值排序
2016/06/28 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
python得到电脑的开机时间方法
2018/10/15 Python
python实现杨氏矩阵查找
2019/03/02 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
Python循环结构的应用场景详解
2019/07/11 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
C#面试常见问题
2013/02/25 面试题
就业表自我评价分享
2014/02/06 职场文书
《猴子种树》教学反思
2014/02/14 职场文书
租车协议书范本
2014/04/22 职场文书
施工协议书范本
2014/04/22 职场文书
设计顾问服务计划书
2014/05/04 职场文书
环境卫生标语
2014/06/09 职场文书
党员转正介绍人意见
2015/06/03 职场文书
详解Nginx 工作原理
2021/03/31 Servers
Python答题卡识别并给出分数的实现代码
2021/06/22 Python