【发布时间】:2019-06-13 23:44:18
【问题描述】:
我有熊猫系列
它具有名称为 user、item 的 MultiIndex:
>>> s
user item
11 1 0.60
3 0.46
4 0.68
2 0.75
0 0.05
13 1 0.71
3 0.82
4 0.65
2 0.45
0 0.16
12 1 0.39
3 0.06
4 0.09
2 0.96
0 0.97
0 1 0.31
3 0.27
4 0.22
2 0.52
0 0.06
5 1 0.03
3 0.47
4 0.34
我想为每个用户获取 2 个最大值。我想要相同格式的结果。
但是当我这样做时,我得到了 user 的重复索引
>>> s.groupby('user').nlargest(2)
user user item
11 11 2 0.75
4 0.68
13 13 3 0.82
1 0.71
12 12 0 0.97
2 0.96
0 0 2 0.52
1 0.31
5 5 0 0.90
3 0.47
7 7 1 0.84
4 0.84
6 6 1 0.91
【问题讨论】:
-
尝试对索引进行分组:
s.groupby(level=0).nlargest(2) -
@coldspeed
level=0也返回重复项
标签: python pandas group-by pandas-groupby