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创建列表并给列表赋初始值的方法
Jul 28 Python
python实现将内容分行输出
Nov 05 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
基于python时间处理方法(详解)
Aug 14 Python
用Python写一段用户登录的程序代码
Apr 22 Python
python实战教程之自动扫雷
Jul 13 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
Python寻找路径和查找文件路径的示例
Jul 10 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
Python如何避免文件同名产生覆盖
Jun 09 Python
Python json格式化打印实现过程解析
Jul 21 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 session 错误
2009/05/21 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
优化innerHTML操作(提高代码执行效率)
2011/08/20 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
值得分享和收藏的xmlplus组件学习教程
2017/05/05 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
python实现tail -f 功能
2020/01/17 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
从python读取sql的实例方法
2020/07/21 Python
澳大利亚在线床零售商:Bedworks
2020/09/01 全球购物
override和overload的区别
2016/03/09 面试题
人力资源总监工作说明
2014/03/03 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
2014年加油站工作总结
2014/12/04 职场文书
小班教师个人总结
2015/02/05 职场文书
债务追讨律师函
2015/06/24 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python