Панды выбирают только значения idxmin + 1 (от nth до последнего) - PullRequest
0 голосов
/ 26 апреля 2018

Как я могу выбрать только индекс от nth до последнего, используя idxmin в пандах?

df = data.loc[data.groupby("key1")["key2"].idxmin()] 

дает мне только последнее значение, конечно.

Имея фрейм данных в виде:

key1       key2
 a           1
 a           2
 a           3
 b           4
 b           5
 c           6

желаемый результат должен быть:

key1       key2
 a           2
 b           5

1 Ответ

0 голосов
/ 26 апреля 2018

Вы можете сделать это так:

df[df.groupby('key1')['key2'].transform(pd.DataFrame.rank) == 2]

OR

df[df.groupby('key1')['key2'].apply(lambda x: x.rank() == 2)]

Выход:

  key1  key2
1    a     2
4    b     5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...