我有一个熊猫系列(作为更大数据框架的一部分),如下所示:
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我想根据以下分位数对行进行分组:
Top 0-5%
Top 6-10%
Top 11-25%
Top 26-50%
Top 51-75%
Top 76-100%首先,我从对数据使用pd.rank()开始,然后我计划使用pd.cut()将数据切割成回收箱,但它似乎不接受顶N%,而是接受显式bin边。在熊猫中是否有一种简单的方法可以做到这一点,或者我是否需要创建一个lambda/apply函数来计算每个排列好的项目应该放在哪个位置。
发布于 2015-12-09 16:53:03
你就是这么想的吗?
pd.qcut(data, [0.05, 0.1, 0.25, 0.5, 0.75, 1])发布于 2018-03-27 15:10:43
略为修改的版本:
Pd.qcut(数据,0,0.05,0.1,0.25,0.5,0.75,1)
否则,它给我的NaN数据集低于0.05 (5%)。
https://stackoverflow.com/questions/34184323
复制相似问题