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实现爬取千万淘宝商品的方法
Jun 30 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
关于反爬虫的一些简单总结
Dec 13 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
python 求一个列表中所有元素的乘积实例
Jun 11 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
使用python的pyplot绘制函数实例
Feb 13 Python
python实现查找所有程序的安装信息
Feb 18 Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 Python
Python 中的函数装饰器和闭包详解
Feb 06 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
Python中的CURL PycURL使用例子
2014/06/01 Python
python中ConfigParse模块的用法
2014/09/29 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
护士思想汇报
2014/01/12 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
2014年财政局工作总结
2014/12/09 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
体育活动总结
2015/02/04 职场文书
语文教师个人工作总结
2015/02/06 职场文书
2015年市场营销工作总结
2015/07/23 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
nginx优化的六点方法
2021/03/31 Servers
Python并发编程实例教程之线程的玩法
2021/06/20 Python