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 命令行非阻塞输入的小例子
Sep 27 Python
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
简单解决Python文件中文编码问题
Nov 22 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Python中GIL的使用详解
Oct 03 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
python保留格式汇总各部门excel内容的实现思路
Jun 01 Python
Python爬虫防封ip的一些技巧
Aug 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
php自动加载的两种实现方法
2010/06/21 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
使用 Javascript 实现浏览器推送提醒功能的示例
2017/11/03 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
Python实现简单层次聚类算法以及可视化
2019/03/18 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
python实现加密的方式总结
2020/01/19 Python
python程序如何进行保存
2020/07/03 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
京东国际站:JOYBUY
2017/11/23 全球购物
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
Shell如何接收变量输入
2016/08/06 面试题
告诉你怎样写创业计划书
2014/01/27 职场文书
工程安全员岗位职责
2014/03/09 职场文书
干部个人对照检查材料
2014/08/25 职场文书
停电调休通知
2015/04/16 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript