如果你想组团的话P
例如按四分位数,运行:
gr = P.groupby(pd.qcut(P.A, 4, labels=False))
然后您可以对这些组执行任何操作。
为了演示,下面有一个打印输出P
仅限于
20 行:
for key, grp in gr:
print(f'\nGroup: {key}\n{grp}')
这使:
Group: 0
A B
0 8 24
3 10 94
10 9 93
15 4 91
17 7 49
Group: 1
A B
7 34 24
8 15 60
12 27 4
13 31 1
14 13 83
Group: 2
A B
4 52 98
5 53 66
9 58 16
16 59 67
18 47 65
Group: 3
A B
1 67 87
2 79 48
6 98 14
11 86 2
19 61 14
如您所见,每个组(四分位数)有 5 个成员,因此分组为
正确的。
作为补充
如果您有兴趣borders对于每个四分位数,运行:
pd.qcut(P.A, 4, labels=False, retbins=True)[1]
Then cut
返回 2 个结果(一个元组)。第一个元素(数字 0)是
之前返回的结果,但这次我们感兴趣的是second元素(数字 1)- bin 边框。
对于您的数据,它们是:
array([ 4. , 12.25, 40.5 , 59.5 , 98. ])
所以例如第一个四分位数介于4 and 12.35.