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制作简单的钢琴程序的教程
Apr 01 Python
Python爬取国外天气预报网站的方法
Jul 10 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 Python
python绘制双柱形图代码实例
Dec 14 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
使用Python处理BAM的方法
Sep 28 Python
python3注册全局热键的实现
Mar 22 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
Apr 07 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
基于Python和C++实现删除链表的节点
Jul 06 Python
python实现感知机模型的示例
Sep 30 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学习 字符串课件
2008/06/15 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
js调用css属性写法
2013/09/21 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
学习python的几条建议分享
2013/02/10 Python
Python Socket编程入门教程
2014/07/11 Python
python3生成随机数实例
2014/10/20 Python
Python中的下划线详解
2015/06/24 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python中的错误处理
2016/04/10 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
python如何爬取个性签名
2018/06/19 Python
Python 操作 MySQL数据库
2020/09/18 Python
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
介绍一下常见的木马种类
2014/11/15 面试题
自我评价的写作规则
2014/01/06 职场文书
进步之星获奖感言
2014/02/22 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
村党建工作汇报材料
2014/11/02 职场文书
交通安全温馨提示语
2015/07/14 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers