关于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+matplotlib实现华丽的文本框演示代码
Jan 22 Python
Python元组及文件核心对象类型详解
Feb 11 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
python psutil模块使用方法解析
Aug 01 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
python爬虫 基于requests模块的get请求实现详解
Aug 20 Python
Pytorch中实现只导入部分模型参数的方式
Jan 02 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
学习Python需要哪些工具
Sep 04 Python
基于Python实现体育彩票选号器功能代码实例
Sep 16 Python
只需要这一行代码就能让python计算速度提高十倍
May 24 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设置静态内容缓存时间的方法
2014/12/01 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
原生js生成图片验证码
2020/10/11 Javascript
Python实现的tab文件操作类分享
2014/11/20 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
Python-jenkins模块之folder相关操作介绍
2020/05/12 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
顶岗实习计划书
2014/01/10 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技