python数据分析数据标准化及离散化详解

作者:诺坎普奇迹 时间:2023-07-05 20:36:39 

本文为大家分享了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、一维聚类离散化

按属性对数据进行聚类离散。

来源:http://blog.csdn.net/wangxingfan316/article/details/79371746

标签:python,数据分析
0
投稿

猜你喜欢

  • 教大家玩转Python字符串处理的七种技巧

    2022-09-29 21:29:14
  • 基于TensorFlow中自定义梯度的2种方式

    2023-02-02 22:34:41
  • Python pandas库中的isnull()详解

    2022-06-06 20:58:01
  • Vue2.0 axios前后端登陆拦截器(实例讲解)

    2023-07-02 16:59:11
  • Python对口红进行数据分析来选定情人节礼物

    2022-01-23 07:38:08
  • GoFrame代码优化gconv类型转换避免重复定义map

    2024-04-27 15:32:04
  • Python学习笔记之Zip和Enumerate用法实例分析

    2021-09-03 19:58:50
  • 在Python中使用matplotlib模块绘制数据图的示例

    2023-08-01 01:39:45
  • django项目中使用云片网发送短信验证码的实现

    2021-09-20 18:35:23
  • MySQL存储过程的查询命令介绍

    2024-01-13 22:34:49
  • 利用C#实现分布式数据库查询

    2024-01-24 18:25:28
  • jQuery mobile转换url地址及获取url中目录部分的方法

    2023-07-02 05:34:34
  • MySQL中组合字段之concat()

    2024-01-26 04:36:54
  • Pycharm挂代理后依旧插件下载慢的完美解决方法

    2023-06-17 23:07:31
  • 一劳永逸彻底解决pip install慢的办法

    2023-08-10 20:30:52
  • Python的Flask框架及Nginx实现静态文件访问限制功能

    2023-08-13 03:13:38
  • python机器学习pytorch 张量基础教程

    2023-06-18 04:54:31
  • python读取图片的方式,以及将图片以三维数组的形式输出方法

    2023-08-05 04:09:26
  • 关于Python使用turtle库画任意图的问题

    2023-08-21 14:02:34
  • 关于使用pyqt弹出消息提示框的问题

    2022-02-15 22:22:01
  • asp之家 网络编程 m.aspxhome.com