pd.cut

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)

  1. x:要分箱的输入数组,必须是一维的
  2. bins:int或标量序列
    • 若bins是一个int,它定义在x范围内的等宽单元的数量。然而,在这种情况下,x的范围在每一侧延伸0.1%以包括x的最小值或最大值
    • 若bins是一个序列,它定义了允许非均匀bin宽度的bin边缘。在这种情况下不进行x的范围的扩展
  1. right:bool,可选:决定区间的开闭,如果right == True(默认),则区间[1,2,3,4]指示(1,2],(2,3],(3,4]
  2. labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符
  3. retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用
  4. precision:int:存储和显示容器标签的精度,默认保留三位小数
  5. include_lowest:bool:第一个间隔是否应该包含左边
 1 import numpy as np
 2 import pandas as pd
 3 # 使用pandas的cut函数划分年龄组
 4 ages = [20,22,25,27,21,23,37,31,61,45,32]
 5 bins = [18,25,35,60,100]
 6 cats = pd.cut(ages,bins)
 7 print(cats)  # 分类时,当数据不在区间中将变为nan
 8 # 统计落在各个区间的值数量
 9 print(pd.value_counts(cats))
10 # 使用codes为年龄数据进行标号
11 print(cats.codes)
12 # 设置自己想要的面元名称
13 group_names = ['Youth','YoungAdult','MiddleAged','Senior']
14 print(pd.cut(ages, bins, labels=group_names))
15 # 设置区间数学符号为左闭右开
16 print(pd.cut(ages, bins, right=False))
17 # 向cut传入面元的数量,则会根据数据的最小值和最大值计算等长面元
18 print(pd.cut(ages, 4, precision=2))  # precision=2表示设置的精度

pd.qcut

与cut类似,它可以根据样本分位数对数据进行面元划分

pandas.qcut(x, q, labels=None, retbins=False, precision=3)  

  1. x:ndarray或Series
  2. q:整数或分位数阵列分位数。十分位数为10,四分位数为4或者,分位数阵列,例如[0,.25,.5,.75,1.]四分位数
  3. labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符。
  4. retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用。
  5. precision:int:存储和显示容器标签的精度
 1 import numpy as np
 2 import pandas as pd
 3
 4 # qcut可以根据样本分位数对数据进行面元划分
 5 # data = np.random.randn(20)  # 正态分布
 6 data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
 7 cats = pd.qcut(data, 4)  # 按四分位数进行切割
 8 print(cats)
 9 print(pd.value_counts(cats))
10 print("-------------------------------------------------")
11 # 通过指定分位数(0到1之间的数值,包含端点)进行面元划分
12 cats_2 = pd.qcut(data, [0, 0.5, 0.8, 0.9, 1])
13 print(cats_2)
14 print(pd.value_counts(cats_2))

转载于:https://www.cnblogs.com/fuqia/p/9011047.html

pandas的离散化,面元划分相关推荐

  1. pandas数据离散化

    pandas数据离散化 数据离散化,是将连续的数据,通过分割,形成离散化的数据.举个例子,比如有一列数据存储人的身高:165,174,160,180,159,163,192,184,那么通过离散化可以 ...

  2. pandas之离散化数据处理get_dummies以及填补缺失值的方法

    文章目录 介绍 实例 用途 拓展 正态分布拟合 随机森林 介绍 pandas.get_dummies(data,prefix=None, prefix_sep='_', dummy_na=False, ...

  3. 第6章 数据集成、变换与规约2

    目录 6. 1 数据集成 6.1.1 数据集成概述 6.1.2 合并数据 6.1.2.1 pandas中用于合并数据的函数与方法 6.1.2.2 主键合并 6.1.2.2.1 pd.merger() ...

  4. 机器学习实战之特征工程

    机器学习实战与特征工程 1.机器学习概述 1.1 什么是机器学习 1.2 为什么要机器学习 1.3 机器学习应用场景 1.4 学习框架和资料的介绍 2.特征工程 2.1 特征工程介绍 2.1.1 数据 ...

  5. 前程无忧——爬虫+数据分析

    Catalog 1.项目介绍 主要目标 环境: 技术 2.爬虫算法(scrapy框架) spider/ quanguo.py items.py pipelines.py setting.py run. ...

  6. pandas数据预处理(标准化归一化、离散化/分箱/分桶、分类数据处理、时间类型数据处理、样本类别分布不均衡数据处理、数据抽样)

    1. 数值型数据的处理 1.1 标准化&归一化 数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模.特征.分布差异等对模型的影响. ...

  7. pandas高级处理-数据离散化

    pandas高级处理-数据离散化 1 为什么要离散化 连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数.离散化方法经常作为数据挖掘的工具.[简化数据,让数据用起来 ...

  8. 数据预处理-数据变换-连续属性离散化实现:pandas(0.23)+sklearn(0.19.1)+matplotlib(2.2.2)

    代码来源:Python数据分析与挖掘实战 源代码有如下错误: line22: 原: data.reshape      修改后:  data.values.reshape line23: 原: sor ...

  9. python使用pandas模块介绍以及使用,dataframe结构,Series结构,基本数据操作,DataFrame运算,pandas画图,存储,缺失值处理,离散化,合并

    目录 1 pandas介绍 1.1 Pandas介绍 1.2 为什么使用Pandas 1.3 案例:在numpy当中创建的股票涨跌幅数据形式 1.4 DataFrame 1.4.1 DataFrame ...

  10. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表数 ...

最新文章

  1. android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...
  2. mysql 运算符 =,:=,@,@@的含义
  3. GMGDC专訪戴亦斌:具体解释QAMAster全面測试服务6大功能
  4. 作者:姚前(1970-),男,中国人民银行征信中心副主任、高级工程师
  5. 【Elasticsearch】es 7.8.0 java 实现 BulkRequest 批量写入数据
  6. Castle ActiveRecord学习实践(6):延迟加载和使用Where子句
  7. 总结 10 年前端经验,谈谈前端人如何更快地成长
  8. 使用xcopy对文件夹进行复制,del、rd 删除文件、文件夹
  9. SQL常见错误及处理方法
  10. 袖珍计算机英语手册,英语袖珍迷你系列-中考英语速记手册.pdf
  11. 计算机辅助 齿轮怎么做,ug怎么画齿轮_UG齿轮画法 UG绘制圆柱型齿轮的方法
  12. 在idea导入项目依赖爆红
  13. c语言酒店信息管理实训作业,c语言实训报告宿舍管理系统.docx
  14. linux 软防火墙 DDOS,Linux iptables防火墙详解 + 配置抗DDOS攻击策略实战
  15. 简单几步去掉百度热搜
  16. cc域名转入可以吗?其特点是什么?
  17. hive运行报错Error during job, obtaining debugging information..FAILED: Execution Error, return code 2
  18. 爬虫日记(6):beautifulsoup的基本使用2
  19. 概率论与数理统计--S2数理统计概念
  20. 使用AFS, Active Directory和SSSD搭建用于集成电路设计的分布式存储系统 【十七】部署 AFS 客户端 2 统一身份登录

热门文章

  1. dbeaver 视图有一个x_《工程制图》——视图、剖视图、断面图、局部放大图
  2. webpack 保存文件后自动打包_Webpack轻松入门(二)——CSS打包
  3. wxpython和tkinter哪个好_为什么很多Python开发者写GUI不用Tkinter,而要选择PyQt和wxPython或其他?...
  4. tar命令压缩和解压缩
  5. 没有第三个变量的前提下交换两个变量_很多人连Python变量都没搞懂,说自己会python
  6. 记 笔记软件极力推荐------------->思源
  7. linux查看磁盘使用情况及每个文件夹占用磁盘大小
  8. hmaster和datanaode启动后很快停止_手动和全自动柴油发电机启动方法各自有什么优点?...
  9. graphviz安装_离线安装vscode插件,你可能会用到!
  10. 关于柯西许瓦兹不等式的一些思考