关于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中使用PIPE操作Linux管道
Feb 04 Python
Python线程的两种编程方式
Apr 14 Python
Python中XlsxWriter模块简介与用法分析
Apr 24 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
tensorflow实现简单逻辑回归
Sep 07 Python
Python使用while循环花式打印乘法表
Jan 28 Python
Python3.5集合及其常见运算实例详解
May 01 Python
Python3.8中使用f-strings调试
May 22 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
Jan 20 Python
Python实现石头剪刀布游戏
Jan 20 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中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
PHP7修改的函数
2021/03/09 PHP
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
详解jQuery中的deferred对象的使用(一)
2016/05/27 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
python 网络编程详解及简单实例
2017/04/25 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
详解Python Opencv和PIL读取图像文件的差别
2019/12/27 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
护理学中专毕业生求职信
2013/11/11 职场文书
学习党章思想汇报
2014/01/07 职场文书
农贸市场管理制度
2014/01/31 职场文书
上课说话检讨书500字
2014/11/01 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
会计入职心得体会
2016/01/22 职场文书