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

 更新时间:2018年02月26日 16:19:59   作者:诺坎普奇迹  
这篇文章主要为大家详细介绍了python数据分析数据标准化及离散化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了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)

运行结果

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)

运行结果:

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)


结果:

离散化

离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法

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)


执行结果:

2、等频率离散化

将相同数量的数据放进一个区间。

3、一维聚类离散化

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决

    Python3下错误AttributeError: ‘dict’ object has no attribute’ite

    这篇文章主要跟大家介绍了关于在Python3下错误AttributeError: 'dict' object has no attribute 'iteritems'的分析与解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • 图文详解在Anaconda安装Pytorch的详细步骤

    图文详解在Anaconda安装Pytorch的详细步骤

    Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,下面这篇文章主要给大家介绍了关于在Anaconda安装Pytorch的详细步骤,需要的朋友可以参考下
    2022-07-07
  • 使用Python的Scrapy框架十分钟爬取美女图

    使用Python的Scrapy框架十分钟爬取美女图

    Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发。本文介绍了使用Python的Scrapy框架十分钟爬取美女图,需要的朋友可以参考下
    2016-12-12
  • python开发中两个list之间传值示例

    python开发中两个list之间传值示例

    这篇文章主要介绍了python开发中两个list列表之间传值的方法,有需要的朋友可以借鉴参考下,希望可以有所帮助,希望大家共同学习,共同进步
    2021-09-09
  • 解决python中使用PYQT时中文乱码问题

    解决python中使用PYQT时中文乱码问题

    今天小编就为大家分享一篇解决python中使用PYQT时中文乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Pygame游戏开发实例讲解之图形绘制与键鼠事件

    Pygame游戏开发实例讲解之图形绘制与键鼠事件

    这篇文章主要介绍了Pygame游戏开发中常用的图形绘制与键鼠事件实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11
  • Python实现字典排序、按照list中字典的某个key排序的方法示例

    Python实现字典排序、按照list中字典的某个key排序的方法示例

    这篇文章主要介绍了Python实现字典排序、按照list中字典的某个key排序的方法,涉及Python字典与列表排序相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • 使用Python绘制词云图的详细教程

    使用Python绘制词云图的详细教程

    词云(Word Cloud)是一种数据可视化技术,用于显示文本数据中的频繁单词,在本教程中,我们将使用 Python 的 wordcloud 库,结合 matplotlib 和 jieba 等工具,展示如何从文本数据生成词云图,需要的朋友可以参考下
    2025-01-01
  • 在VSCode中配置Python开发环境的详细教程

    在VSCode中配置Python开发环境的详细教程

    Visual Studio Code(简称VSCode)以其强大的功能和灵活的扩展性,成为了许多开发者的首选,本文将详细介绍如何在VSCode中配置Python开发环境,需要的朋友可以参考下
    2025-04-04
  • pytorch finetuning 自己的图片进行训练操作

    pytorch finetuning 自己的图片进行训练操作

    这篇文章主要介绍了pytorch finetuning 自己的图片进行训练操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论