按大前N%分类大熊猫数据

met*_*rsk 5 python pandas

我有一个熊猫系列(作为更大的数据框的一部分),如下所示:

0        7416
1       10630
2        7086
3        2091
4        3995
5        1304
6         519
7        1262
8        3676
9        2371
10       5346
11        912
12       3653
13       1093
14       2986
15       2951
16      11859
Run Code Online (Sandbox Code Playgroud)

我想根据以下分位数对行进行分组:

Top 0-5%
Top 6-10%
Top 11-25%
Top 26-50%
Top 51-75%
Top 76-100%
Run Code Online (Sandbox Code Playgroud)

首先,我开始使用pd.rank()数据,然后我计划然后使用pd.cut()将数据切割成容器,但它似乎不接受顶部N%,而是接受显式bin边缘.有没有一种简单的方法在pandas中执行此操作,或者我是否需要创建一个lambda/apply函数来计算每个排序项应放在哪个bin中.

cro*_*bot 11

这是你的想法吗?

pd.qcut(data, [0.05, 0.1, 0.25, 0.5, 0.75, 1])
Run Code Online (Sandbox Code Playgroud)