关于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之有容乃大的list(4)
Sep 28 Python
Python多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
对Python中range()函数和list的比较
Apr 19 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
如何使用Python标准库进行性能测试
Jun 25 Python
python命令行参数用法实例分析
Jun 25 Python
python+numpy实现的基本矩阵操作示例
Jul 19 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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+DBM的同学录程序(2)
2006/10/09 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
mui js控制开关状态、修改switch开关的值方法
2019/09/03 Javascript
[03:48]2014DOTA2 TI专访71DK夺冠不靠小组赛高排名
2014/07/11 DOTA
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
python 读入多行数据的实例
2018/04/19 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
药学专业大学生个人的自我评价
2013/11/04 职场文书
最新创业融资计划书
2014/01/19 职场文书
2015年项目工作总结
2015/04/29 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书