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 相关文章推荐
在Django框架中编写Contact表单的教程
Jul 17 Python
使用Python生成随机密码的示例分享
Feb 18 Python
对python 命令的-u参数详解
Dec 03 Python
python hough变换检测直线的实现方法
Jul 12 Python
Python Django基础二之URL路由系统
Jul 18 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
Python进阶之迭代器与迭代器切片教程
Jan 29 Python
基于python修改srt字幕的时间轴
Feb 03 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
python实现信号时域统计特征提取代码
Feb 26 Python
Python中生成ndarray实例讲解
Feb 22 Python
Django操作cookie的实现
May 26 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防盗链代码实例
2014/08/27 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
jQuery学习基础知识小结
2010/11/25 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
[03:09]DOTA2亚洲邀请赛 LGD战队出场宣传片
2015/02/07 DOTA
在Django框架中编写Context处理器的方法
2015/07/20 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python3调用R的示例代码
2018/02/23 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
为什么使用接口?
2014/08/13 面试题
解除租房协议书
2014/12/03 职场文书
乐山大佛导游词
2015/02/02 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python