pandas的离散化,面元划分
pd.cut
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)
- x:要分箱的输入数组,必须是一维的
- bins:int或标量序列
- 若bins是一个int,它定义在x范围内的等宽单元的数量。然而,在这种情况下,x的范围在每一侧延伸0.1%以包括x的最小值或最大值
- 若bins是一个序列,它定义了允许非均匀bin宽度的bin边缘。在这种情况下不进行x的范围的扩展
- right:bool,可选:决定区间的开闭,如果right == True(默认),则区间[1,2,3,4]指示(1,2],(2,3],(3,4]
- labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符
- retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用
- precision:int:存储和显示容器标签的精度,默认保留三位小数
- 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)
- x:ndarray或Series
- q:整数或分位数阵列分位数。十分位数为10,四分位数为4或者,分位数阵列,例如[0,.25,.5,.75,1.]四分位数
- labels:array或boolean,默认值为无:用作生成的区间的标签。必须与生成的区间的长度相同。如果为False,则只返回bin的整数指示符。
- retbins:bool,可选:是否返回bin。如果bin作为标量给出,则可能有用。
- 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的离散化,面元划分相关推荐
- pandas数据离散化
pandas数据离散化 数据离散化,是将连续的数据,通过分割,形成离散化的数据.举个例子,比如有一列数据存储人的身高:165,174,160,180,159,163,192,184,那么通过离散化可以 ...
- pandas之离散化数据处理get_dummies以及填补缺失值的方法
文章目录 介绍 实例 用途 拓展 正态分布拟合 随机森林 介绍 pandas.get_dummies(data,prefix=None, prefix_sep='_', dummy_na=False, ...
- 第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() ...
- 机器学习实战之特征工程
机器学习实战与特征工程 1.机器学习概述 1.1 什么是机器学习 1.2 为什么要机器学习 1.3 机器学习应用场景 1.4 学习框架和资料的介绍 2.特征工程 2.1 特征工程介绍 2.1.1 数据 ...
- 前程无忧——爬虫+数据分析
Catalog 1.项目介绍 主要目标 环境: 技术 2.爬虫算法(scrapy框架) spider/ quanguo.py items.py pipelines.py setting.py run. ...
- pandas数据预处理(标准化归一化、离散化/分箱/分桶、分类数据处理、时间类型数据处理、样本类别分布不均衡数据处理、数据抽样)
1. 数值型数据的处理 1.1 标准化&归一化 数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模.特征.分布差异等对模型的影响. ...
- pandas高级处理-数据离散化
pandas高级处理-数据离散化 1 为什么要离散化 连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数.离散化方法经常作为数据挖掘的工具.[简化数据,让数据用起来 ...
- 数据预处理-数据变换-连续属性离散化实现:pandas(0.23)+sklearn(0.19.1)+matplotlib(2.2.2)
代码来源:Python数据分析与挖掘实战 源代码有如下错误: line22: 原: data.reshape 修改后: data.values.reshape line23: 原: sor ...
- python使用pandas模块介绍以及使用,dataframe结构,Series结构,基本数据操作,DataFrame运算,pandas画图,存储,缺失值处理,离散化,合并
目录 1 pandas介绍 1.1 Pandas介绍 1.2 为什么使用Pandas 1.3 案例:在numpy当中创建的股票涨跌幅数据形式 1.4 DataFrame 1.4.1 DataFrame ...
- pandas学习(数据分组与分组运算、离散化处理、数据合并)
pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表数 ...
最新文章
- android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...
- mysql 运算符 =,:=,@,@@的含义
- GMGDC专訪戴亦斌:具体解释QAMAster全面測试服务6大功能
- 作者:姚前(1970-),男,中国人民银行征信中心副主任、高级工程师
- 【Elasticsearch】es 7.8.0 java 实现 BulkRequest 批量写入数据
- Castle ActiveRecord学习实践(6):延迟加载和使用Where子句
- 总结 10 年前端经验,谈谈前端人如何更快地成长
- 使用xcopy对文件夹进行复制,del、rd 删除文件、文件夹
- SQL常见错误及处理方法
- 袖珍计算机英语手册,英语袖珍迷你系列-中考英语速记手册.pdf
- 计算机辅助 齿轮怎么做,ug怎么画齿轮_UG齿轮画法 UG绘制圆柱型齿轮的方法
- 在idea导入项目依赖爆红
- c语言酒店信息管理实训作业,c语言实训报告宿舍管理系统.docx
- linux 软防火墙 DDOS,Linux iptables防火墙详解 + 配置抗DDOS攻击策略实战
- 简单几步去掉百度热搜
- cc域名转入可以吗?其特点是什么?
- hive运行报错Error during job, obtaining debugging information..FAILED: Execution Error, return code 2
- 爬虫日记(6):beautifulsoup的基本使用2
- 概率论与数理统计--S2数理统计概念
- 使用AFS, Active Directory和SSSD搭建用于集成电路设计的分布式存储系统 【十七】部署 AFS 客户端 2 统一身份登录
热门文章
- dbeaver 视图有一个x_《工程制图》——视图、剖视图、断面图、局部放大图
- webpack 保存文件后自动打包_Webpack轻松入门(二)——CSS打包
- wxpython和tkinter哪个好_为什么很多Python开发者写GUI不用Tkinter,而要选择PyQt和wxPython或其他?...
- tar命令压缩和解压缩
- 没有第三个变量的前提下交换两个变量_很多人连Python变量都没搞懂,说自己会python
- 记 笔记软件极力推荐------------->思源
- linux查看磁盘使用情况及每个文件夹占用磁盘大小
- hmaster和datanaode启动后很快停止_手动和全自动柴油发电机启动方法各自有什么优点?...
- graphviz安装_离线安装vscode插件,你可能会用到!
- 关于柯西许瓦兹不等式的一些思考