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 相关文章推荐
一则python3的简单爬虫代码
May 26 Python
pycharm 使用心得(四)显示行号
Jun 05 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Python编程入门之Hello World的三种实现方式
Nov 13 Python
详解Python如何生成词云的方法
Jun 01 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
Mar 10 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
python 爬取小说并下载的示例
Dec 07 Python
Python使用random模块实现掷骰子游戏的示例代码
Apr 29 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数组是否为空的代码
2011/09/08 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
javascript URL锚点取值方法
2009/02/25 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
2015/06/19 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
认识jQuery的Promise的具体使用方法
2017/10/10 jQuery
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
2017/08/18 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
教你使用Canvas处理图片的方法
2017/11/28 HTML / CSS
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
自我反省检讨书
2014/01/23 职场文书
村道德模范事迹材料
2014/08/28 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python