Pandas的qcut()与cut()_baidu-liuming的博客-程序员宝宝_pd.qcut

技术标签: pandas  cut  qcut  Python  

>>> factors = np.random.randn(9)
[ 2.12046097  0.24486218  1.64494175 -0.27307614 -2.11238291 2.15422205 -0.46832859  0.16444572  1.52536248]

pd.qcut()

qcut是根据这些值的频率来选择箱子的均匀间隔,即每个箱子中含有的数的数量是相同的
传入q参数

>>> pd.qcut(factors, 3) #返回每个数对应的分组
[(1.525, 2.154], (-0.158, 1.525], (1.525, 2.154], (-2.113, -0.158], (-2.113, -0.158], (1.525, 2.154], (-2.113, -0.158], (-0.158, 1.525], (-0.158, 1.525]]
Categories (3, interval[float64]): [(-2.113, -0.158] < (-0.158, 1.525] < (1.525, 2.154]]
 
>>> pd.qcut(factors, 3).value_counts() #计算每个分组中含有的数的数量
(-2.113, -0.158]    3
(-0.158, 1.525]     3
(1.525, 2.154]      3

传入lable参数

>>> pd.qcut(factors, 3,labels=["a","b","c"]) #返回每个数对应的分组,但分组名称由label指示
[c, b, c, a, a, c, a, b, b]
Categories (3, object): [a < b < c]
 
>>> pd.qcut(factors, 3,labels=False) #返回每个数对应的分组,但仅显示分组下标
[2 1 2 0 0 2 0 1 1]

传入retbins参数

>>> pd.qcut(factors, 3,retbins=True)# 返回每个数对应的分组,且额外返回bins,即每个边界值
[(1.525, 2.154], (-0.158, 1.525], (1.525, 2.154], (-2.113, -0.158], (-2.113, -0.158], (1.525, 2.154], (-2.113, -0.158], (-0.158, 1.525], (-0.158, 1.525]]
Categories (3, interval[float64]): [(-2.113, -0.158] < (-0.158, 1.525] < (1.525, 2.154],array([-2.113,  -0.158 ,  1.525,  2.154]))

在这里插入图片描述

pd.cut()

cut将根据值本身来选择箱子均匀间隔,即每个箱子的间距都是相同的
传入bins参数

>>> pd.cut(factors, 3) #返回每个数对应的分组
[(0.732, 2.154], (-0.69, 0.732], (0.732, 2.154], (-0.69, 0.732], (-2.117, -0.69], (0.732, 2.154], (-0.69, 0.732], (-0.69, 0.732], (0.732, 2.154]]
Categories (3, interval[float64]): [(-2.117, -0.69] < (-0.69, 0.732] < (0.732, 2.154]]
 
>>> pd.cut(factors, bins=[-3,-2,-1,0,1,2,3])
[(2, 3], (0, 1], (1, 2], (-1, 0], (-3, -2], (2, 3], (-1, 0], (0, 1], (1, 2]]
Categories (6, interval[int64]): [(-3, -2] < (-2, -1] < (-1, 0] < (0, 1] (1, 2] < (2, 3]]
 
>>> pd.cut(factors, 3).value_counts() #计算每个分组中含有的数的数量
Categories (3, interval[float64]): [(-2.117, -0.69] < (-0.69, 0.732] < (0.732, 2.154]]
(-2.117, -0.69]    1
(-0.69, 0.732]     4
(0.732, 2.154]     4

传入label参数

>>> pd.cut(factors, 3,labels=["a","b","c"]) #返回每个数对应的分组,但分组名称由label指示
[c, b, c, b, a, c, b, b, c]
Categories (3, object): [a < b < c]
 
>>> pd.cut(factors, 3,labels=False) #返回每个数对应的分组,但仅显示分组下标
[2 1 2 1 0 2 1 1 2]

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fisherming/article/details/96735388

智能推荐

LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置_flamingobaby的博客-程序员宝宝

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,1...

AOJ 2321 Butterfly_birdstorm的博客-程序员宝宝

/*author: birdstorm*/#include #include #include #include #include #define MAXN 100005#define N 105#define INF 1<<30#define eps 1.0e-10#define For(i,m,n) for(i=(m);i<n;i++)#define MAX(x,y)

Flink学习笔记【巨详细!】(二)_水花还在漂移的博客-程序员宝宝_flink笔记

第三章:Flink集群配置和部署第四章:Flink运行架构的介绍

转一个linux apache 日志分析与状态 _tiandiqing的博客-程序员宝宝

ps.转的一篇文章 假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] “GET /Public/Css/index.css HTTP/1.1″ 304 – “http://www.a.cn/common/index.php” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5....

Android中framework_丁小先生的博客-程序员宝宝_android framework

Android系统一共分为5层:Application(系统应用)FrameWork(Java API 框架)Native Libraries(原生 C/C++ 库 )+Android Runtime(ART虚拟机+Core Libraries[Android核心库])硬件抽象层 (HAL)Linux Kernel其中Framework在第二层,他是把一些基本的的或者和设备打交道的服务抽象起来作API给Application应用调用。这里是...

STM32 使用片外外扩内存调试_weixin_30888027的博客-程序员宝宝

紧接上一篇,如果程序改来改去还是太大对不进STM32的内存怎么办?只能用下载到flash然后调试了吗?其实还可以下载到外扩的SRAM里,这样就几乎能搞定所有的普通程序了。唯一的缺点是在这种情况下,程序会跑得比较慢,whatever,能调试才是正道。 板子还是红牛默认配置,这货带了256x16bit的SRAM一片,接在FSMC上,下面介绍怎么配置成使用这片外扩SRAM进程程序调试。 首先要知...

随便推点

android adb打开gps,adb 命令行模拟GPS位置信息_古筝圈小透明的博客-程序员宝宝

查看模拟器序列号&gt;adb devicesList of devices attached deviceemulator-5554然后用adb emu命令执行设备的console命令geo fix&gt;adb -s emulator-5554 emu geo fix 121.49612 31.24010参考:http://code.metager.de/source/xref/android...

2.关于RT-Thread 移植SPI NRF24L01_☆摔得流行★的博客-程序员宝宝

一、描述我默认你有良好的基础,使用过RT-Thread Studio、CubeMX等软件开发程序,所以文章只会讲解细节,毕竟时代在变化。对于NRF24L01,作为从机与stm32使用SPI协议进行通信,你得先了解写SPI协议,什么是CPOL、CPHA,配置他们有什么用,推荐看下原子哥视频,简单,速度快,最好标准库3.5裸机也写下程序,了解下结构体对相关寄存器的配置,毕竟使用CubeMX或IDE配置实在是太简单了,当然也忘得快。当然你想速成也可以。二、CubeMX或CubeIDE配置程序

你选择25k的996还是18k的965?_R语言中文社区的博客-程序员宝宝

来源:http://h5ip.cn/hSDk很多互联网公司,更多的创业公司,老板都喜欢玩996。一些情况是工作真的做不完,更多的情况是老板为了心里的满足,更多的是给投资人...

JASS代码加翻译更新(第四篇)_朴嵩澪的博客-程序员宝宝

[YDWEMemoryLeakHelperProtectLocation]title = "自动排泄系统-保护-点"description = "保护点 ${点},使其不被系统自动清除"comment = "自动排泄系统从收集到的反馈来看不是很理想,请尽量不要使用它。"category = TC_YDHIDEkeynum = 1type1 = location[YDWEMemoryLeakHelperProtectGroup]title = "自动排泄系统-保护-单位组...

iOS autoLayout总结_a1311010193的博客-程序员宝宝

本文转自http://ruikq.github.io/ios/autolayout/uiscrollview/2015/01/27/iOS-autolayout%E6%80%BB%E7%BB%93.htmlautolayout, and uiscrollview以前学习iOS的时候没怎么接触过autoLayout,自从iPhone6个6+出来之后一直在为以前的app做适配,所...

推荐文章

热门文章

相关标签