pandas SeriesGroupBy.nlargest дублирует многоуровневый индекс - PullRequest
0 голосов
/ 20 января 2019

у меня есть серия панд
Имеет MultiIndex с именами user, item:

>>> 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

1 Ответ

0 голосов
/ 20 января 2019

добавить group_keys=False:

>>> s.groupby('user', group_keys=False).nlargest(2)
user  item
11    2       0.75
      4       0.68
13    3       0.82
      1       0.71
12    0       0.97
      2       0.96
0     2       0.52
      1       0.31
5     0       0.90
      3       0.47
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...