получить последнее строковое значение groupBy в python - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу получить последнее (по дате) значение ключа из df в python.это мой фрейм данных:

key     date      value
1    10/02/2010    'a'
1    13/02/2010    'c' 
1    10/02/2010    'a'   
1    11/02/2010    'b' 
3    15/12/2013    'r'   
3    04/03/2011    'g'   
3    04/03/2012    'a'   
4    11/12/2018    'b'  

пример вывода:

key     date      value
1    13/02/2010    'c'   
3    15/12/2013    'r'   
4    11/12/2018    'b' 

***** Я знаю, что могу отсортировать фрейм данных по датам и получить первую строку, но я предпочитаюне использовать сортировку.

что я могу сделать?

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

Предполагается, что key является индексом, как кажется:

df = df.reset_index()
df.groupby('key').date.apply(lambda x: x.max())
0 голосов
/ 27 декабря 2018

Используйте приведенное ниже, оно получается на 'date', как вы хотели, и получает в ожидаемом порядке, и выдает ожидаемый результат:

print(df[df.groupby('key')['date'].transform(max) == df['date']])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...