1、简单变换:

  开方、平方、对数等

2、数据规范化:

(1)离差标准化(最小最大标准化):消除量纲(单位)影响以及变异大小因素的影响。

  x1=(x-min)/(max-min)

  代码:data1=(data-min())/(data.max()-data.min())

(2)标准差标准化(0-均值标准化)------消除单位影响以及变量自身变异影响。

  x1=(x-mean)/std

  代码:data2=(data-data.mean())/data.std()

它有个特性,得到的数据负数较正数多,且得到的平均数为0,标准差为1.

(3)小数定标规范化------消除单位影响

  x1=x/10**(k)

  k=log10(x的绝对值的最大值)

  代码:k=numpy.ceil(numpy.log10(data.abs().max()))

     data3=data/10**k

3、离散化:

(1)等宽离散化:将属性的值域分为具有相同宽度的区间。

  代码:采用pandas.cut()函数,cut有三个参数,第一个是数据,第二个参数表示分为k份,第三个参数为标签labels。

  pandas.cut(data,3,labels=["便宜","适中","贵"])#将数据data分为3等份,标签为便宜、适中、贵

如:

  非等宽离散化:pandas.cut ( data, [ 0,50,150,300,500,data.max() ] ,labels)

(注意:将列表[0,50,……]可以换成分位数,就可以进行等频率离散化。

(2)等频率离散化:将相同数据的记录放进每个区间 ①求分位数②cut函数

  过程主要将k份的分位数求出来,dataframe可以用describe函数求,属性采用percentile就可以了。列表可以用numpy的percentile来求。比如np.percentile(data,75)是求四分位数(3/4)。

  ①dataframe结构

  #k为分的份数,w作为分位数,可以运用dataframe.describe(percentiles=w)来计算分位数

  w=[ i/k for i in range(k+1)]

  w=data.describe (percentiles=w) [ 4:4+k+1] #取几个分位数的值作为不等长列表,用于cut函数

  d2=pd.cut(data,w,labels=range(k))

  ②列表、数组结构

  #用np.percentile(data,百分比)来求

  temp=[ i/k*100 for i in range(k+1)]

  w=[ ]

  for item in temp:

    w.append(np.percentile(data,item))

  d3=pd.cut(data,w,labels=range(k))

(3)一维聚类离散化:先聚类(如k-means),然后对每一类的连续值进行标记。

  ①k-means求聚类中心,并排序,将相邻两项的中点作为边界点,把首末边界点加上,整合成w列表②cut函数

  k-means:

  from sklearn.cluster import KMeans

  kmodel=KMeans(n_clusters=k)  #k为聚成几类

  kmodel.fit(data.reshape(len(data),1))) #训练模型

  c=pd.DataFrame(kmodel.cluster_centers_) #求聚类中心

  c=c.sort_values(by=’列索引') #排序

  w=pd.rolling_mean(c,2).iloc[1:] #用滑动窗口求均值的方法求相邻两项求中点,作为边界点

  w=[0] +list(w[0] + [ data.max() ]  #把首末边界点加上

  d3= pd.cut(data,w,labels=range(k)) #cut函数

4、小波变换

小波变换是一种新的数据分析方法,主要对信号数据进行特征提取。

5、属性构造:

也就是构造新的属性再写入原数据中。

Python数据分析4------------数据变换的更多相关文章

  1. python数据分析笔记——数据加载与整理]

    [ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...

  2. Python数据分析_Pandas01_数据框的创建和选取

    主要内容: 创建数据表 查看数据表 数据表索引.选取部分数据 通过标签选取.loc 多重索引选取 位置选取.iloc 布尔索引 Object Creation 新建数据 用list建series序列 ...

  3. Python数据分析--------numpy数据打乱

    一.shuffle函数: import numpy.random def shuffleData(data): np.random.shufflr(data) cols=data.shape[1] X ...

  4. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  5. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  6. 【python数据分析实战】电影票房数据分析(二)数据可视化

    目录 图1 每年的月票房走势图 图2 年票房总值.上映影片总数及观影人次 图3 单片总票房及日均票房 图4 单片票房及上映月份关系图 在上一部分<[python数据分析实战]电影票房数据分析(一 ...

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

    python数据分析数据标准化及离散化详解 本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下 标准化 1.离差标准化 是对原始数据的线性变换,使结果映射到[0 ...

  8. python数据分析-数据导入

    1.导入CSV格式数据 import pandas data = pandas.read_csv("C:\\Users\\zhaosai\\Desktop\\进击的DBA\\谁说菜鸟不会数据 ...

  9. 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

随机推荐

  1. 【hihocoder 1329】 平衡树·Splay(set做法)

    [题目链接]:http://hihocoder.com/problemset/problem/1329 [题意] [题解] 因为一开始是空的树,所以; n其实就代表了树中的最多元素个数; 则最坏的情况 ...

  2. 简述synchronized和java.util.concurrent.locks.Lock的异同

    1.synchronized 用在方法和代码块的区别? a. 可以只对需要同步的使用 b.与wait(),notify()和notifyall()方法使用比较方便 2.wait() a.释放持有的对象 ...

  3. 先验概率 vs 后验概率

    其实还不是很懂.看了这篇文章: http://blog.csdn.net/passball/article/details/5859878   事情还没有发生,要求这件事情发生的可能性的大小,是先验概 ...

  4. HDU2955_Robberies【01背包】

    Robberies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. Android Studio左边栏Project不见了?

    非常多Android Stuio刚開始学习的人可能会一不小心把左边的Project栏给关了.结果发现找非常久也没找到怎么再打开Project栏. 如图.点击左下角button,Project就出来了.

  6. Palindrome Linked List 234

    推断是否为回文链栈 时间复杂度为O(n) 空间复杂度为O(1) : 运用递归 保证空间复杂度为O(1): 时间复杂度为O(n): 注意定义了一个全局变量 flag = true 用此标记来标记是否在推 ...

  7. sql server中的悲观锁和乐观锁

    https://www.cnblogs.com/chenwolong/p/Lock.html https://www.cnblogs.com/dengshaojun/p/3955826.html ht ...

  8. 国内物联网平台初探(七) ——Ablecloud物联网自助开发和大数据云平台

    平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速硬件实现联网智能化. 架构 服务 云端服务一体化开发引擎 业内独创一体化开发引 ...

  9. B1237 [SCOI2008]配对 贪心 + dp

    我刚开始,我打眼一看:哇!网络流大水题,直接费用流板子,建边跟zz一样.结果看了一眼数据范围...gg,luogu上只能得30,直接建边就是n^2,1e5根本过不了.咋办,只能另谋出路.想不出来,看题 ...

  10. day63-webservice 04.JaxWsServerFactoryBean和SOAP1.2

    <wsdl:definitions xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap12="h ...