Pandas:数据的离散化

标签: 离散化 面元 cut qcut
4人阅读 评论(0) 收藏 举报
分类:
import numpy as np
import pandas as pd
from pandas import Series,DataFrame

一、cut的使用

将ages按照“18到25”、“26到35”、“35到60”以及“60以上”进行划分

ages = [20,22,25,27,21,23,37,31,61,45,41,32]
bins = [18,25,35,60,100]
r = pd.cut(ages,bins)
r
[(18, 25], (18, 25], (18, 25], (25, 35], (18, 25], ..., (25, 35], (60, 100], (35, 60], (35, 60], (25, 35]]
Length: 12
Categories (4, interval[int64]): [(18, 25] < (25, 35] < (35, 60] < (60, 100]]

codes返回划分组的编号

r.codes
array([0, 0, 0, 1, 0, 0, 2, 1, 3, 2, 2, 1], dtype=int8)

categories返回划分的组

r.categories
IntervalIndex([(18, 25], (25, 35], (35, 60], (60, 100]]
              closed='right',
              dtype='interval[int64]')

二、使用value_counts可以对划分在各个组的数据进行值统计

pd.value_counts(r)
(18, 25]     5
(35, 60]     3
(25, 35]     3
(60, 100]    1
dtype: int64

三、使用labels参数对分组命名

pd.cut(ages,bins,labels=['Youth',' YoungAdult','MiddleAged','Senior'])
[Youth, Youth, Youth, YoungAdult, Youth, ..., YoungAdult, Senior, MiddleAged, MiddleAged, YoungAdult]
Length: 12
Categories (4, object): [YoungAdult < MiddleAged < Senior < Youth]

四、指定分组数量,不指定分组的边界

pd.cut(ages,5)
[(19.959, 28.2], (19.959, 28.2], (19.959, 28.2], (19.959, 28.2], (19.959, 28.2], ..., (28.2, 36.4], (52.8, 61.0], (44.6, 52.8], (36.4, 44.6], (28.2, 36.4]]
Length: 12
Categories (5, interval[float64]): [(19.959, 28.2] < (28.2, 36.4] < (36.4, 44.6] < (44.6, 52.8] < (52.8, 61.0]]

五、根据分位数进行划分–qcut

pd.qcut(ages,4)
[(19.999, 22.75], (19.999, 22.75], (22.75, 29.0], (22.75, 29.0], (19.999, 22.75], ..., (29.0, 38.0], (38.0, 61.0], (38.0, 61.0], (38.0, 61.0], (29.0, 38.0]]
Length: 12
Categories (4, interval[float64]): [(19.999, 22.75] < (22.75, 29.0] < (29.0, 38.0] < (38.0, 61.0]]

自己设定分位数

pd.qcut(ages,[0,0.1,0.5,0.8,1.])
[(19.999, 21.1], (21.1, 29.0], (21.1, 29.0], (21.1, 29.0], (19.999, 21.1], ..., (29.0, 40.2], (40.2, 61.0], (40.2, 61.0], (40.2, 61.0], (29.0, 40.2]]
Length: 12
Categories (4, interval[float64]): [(19.999, 21.1] < (21.1, 29.0] < (29.0, 40.2] < (40.2, 61.0]]
查看评论

使用 Pandas 与 Matplotlib 分析科比职业生涯数据

使用Python数据分析最流行的库Numpy,Pandas,Matplotlib, Scikit-learn结合真实数据集展开可视化特征分析与机器学习建模和评估。每次课程涉及一个完整的案例,基于案例讲解python库的使用以及如何建立机器学习模型,对涉及到的机器学习算法给出最通俗易懂的解释,帮助大家快速掌握经典机器学习算法,并应用在实际的案例中。
  • 2017年04月11日 09:47

【pandas】[4] 数据清洗(数据合并,重塑,转换,离散化,过滤,采样)

本文主要内容整理自《利用python做数据分析》,部分参考网络其他博文。 1.合并数据集 pandas.merge 可根据一个或多个键将不同 DataFrame 中的行连接起来。 pandas....
  • you_xian
  • you_xian
  • 2016-05-25 17:44:58
  • 6234

机器学习(七)使用pandas库进行数据分析_——统计信息和离散化

在特征工程中,对于数值型数据(比如年龄为25岁、31岁。。,商店某个时间段的销量为20W件等等), 通常要对这些数值型数据进行统计分析,比如求取它们的最大最小值、期望方差等,pandas库在数据分析中...
  • JR_lu
  • JR_lu
  • 2016-10-26 16:30:57
  • 1193

数据预处理(2) ——数据变换与数据离散化 使用python(sklearn,pandas,numpy)实现

数据预处理的主要任务有: 一、数据预处理 1.数据清洗 2.数据集成 3.数据转换 4.数据归约 3.数据变换 数据变换是指将数据转换或统一成适合于挖掘的形式。 (1)数据泛化:...
  • daxiaofan
  • daxiaofan
  • 2016-11-09 17:37:50
  • 6522

pandas的离散化,面元划分

pd.cut pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=Fals...
  • zzpdbk
  • zzpdbk
  • 2018-02-02 00:31:09
  • 175

Python利用pandas/sklearn处理类别型特征;手动分段与离散化处理连续型特征

类别型变量特征:独热向量编码/One-Hot-Encoding (Dummy variables) 颜色:红、黄、紫[1,0,0] [0,1,0] [0,0,1] LR =...
  • cymy001
  • cymy001
  • 2017-11-19 19:12:24
  • 1734

数据预处理(3) ——数据归约 使用python(sklearn,pandas,numpy)实现

数据预处理的主要任务有: 一、数据预处理 1.数据清洗 2.数据集成 3.数据转换 4.数据归约 4.数据归约 (1)数据立方体聚集:聚集操作用于数据立方体结构中的数据。 ...
  • daxiaofan
  • daxiaofan
  • 2016-11-09 17:46:45
  • 2256

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

标准化1。离差标准化是对原始数据的线性变换,使结果映射到[0,1]区间。方便数据的处理。消除单位影响及变异大小因素影响。 基本公式为:x’=(x-min)/(max-min) 代码:#!/user/...
  • wangxingfan316
  • wangxingfan316
  • 2018-02-25 21:31:02
  • 108

python 数据离散化和面元划分

数据挖掘中有些算法,特别是分类算法,只能在离散型数据上进行分析,然而大部分数据集常常是连续值和离散值并存的。因此,为了使这类算法发挥作用,需要对数据集中连续型属性进行离散化操作。 那么,如何对连续型属...
  • qq_36330643
  • qq_36330643
  • 2017-11-02 19:51:51
  • 753

python - pandas cut 离散化与面元划分

###离散化与面元划分 import numpy as np import pandas as pd ages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, ...
  • SecondLieutenant
  • SecondLieutenant
  • 2018-01-31 15:24:57
  • 253
    个人资料
    持之以恒
    等级:
    访问量: 2060
    积分: 655
    排名: 7万+
    文章存档
    最新评论