关于pandas的离散化,面元划分详解


Posted in Python onNovember 22, 2019

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:第一个间隔是否应该包含左边

import numpy as np
import pandas as pd
# 使用pandas的cut函数划分年龄组
ages = [20,22,25,27,21,23,37,31,61,45,32]
bins = [18,25,35,60,100]
cats = pd.cut(ages,bins)
print(cats) # 分类时,当数据不在区间中将变为nan
# 统计落在各个区间的值数量
print(pd.value_counts(cats))
# 使用codes为年龄数据进行标号
print(cats.codes)
# 设置自己想要的面元名称
group_names = ['Youth','YoungAdult','MiddleAged','Senior']
print(pd.cut(ages, bins, labels=group_names))
# 设置区间数学符号为左闭右开
print(pd.cut(ages, bins, right=False))
# 向cut传入面元的数量,则会根据数据的最小值和最大值计算等长面元
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:存储和显示容器标签的精度

import numpy as np
import pandas as pd

# qcut可以根据样本分位数对数据进行面元划分
# data = np.random.randn(20) # 正态分布
data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
cats = pd.qcut(data, 4) # 按四分位数进行切割
print(cats)
print(pd.value_counts(cats))
print("-------------------------------------------------")
# 通过指定分位数(0到1之间的数值,包含端点)进行面元划分
cats_2 = pd.qcut(data, [0, 0.5, 0.8, 0.9, 1])
print(cats_2)
print(pd.value_counts(cats_2))

以上这篇关于pandas的离散化,面元划分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python远程登录代码
Apr 29 Python
python搭建微信公众平台
Feb 09 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
python实现支付宝转账接口
May 07 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
Django ModelForm组件使用方法详解
Jul 23 Python
pandas 空数据处理方法详解
Nov 02 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
python入门教程之基本算术运算符
Nov 13 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 #Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 #Python
在OpenCV里使用Camshift算法的实现
Nov 22 #Python
利用Python的sympy包求解一元三次方程示例
Nov 22 #Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 #Python
python快速排序的实现及运行时间比较
Nov 22 #Python
Python实现平行坐标图的绘制(plotly)方式
Nov 22 #Python
You might like
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php上传文件问题汇总
2015/01/30 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
dojo随手记 gird组件引用
2011/02/24 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
Java基础知识面试要点
2016/07/29 面试题
Shell编程面试题
2012/05/30 面试题
学校安全教育月活动总结
2014/07/07 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
职工培训工作总结
2015/08/10 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python