Python: выберите строки для самой последней записи от нескольких пользователей

1

У меня есть dataframe df с 3 столбцами:

df=pd.DataFrame({
    'User':['A','A','B','A','C','B','C'],
    'Values':['x','y','z','p','q','r','s'],
    'Date':[14,11,14,12,13,10,14]
})

Я хочу создать новую фреймворк данных, которая будет содержать строки, соответствующие самым высоким значениям в столбцах "Дата" для каждого пользователя. Например, для вышеуказанного блока данных я хочу, чтобы желаемый формат данных выглядел следующим образом (его jpeg-изображение):

Изображение 174551

Может ли кто-нибудь помочь мне с этой проблемой?

Теги:
pandas
dataframe
datetime

1 ответ

3
Лучший ответ

В этом ответе предполагается, что в столбце " Values есть разные максимальные значения для каждого пользователя:

In [10]: def get_max(group):
    ...:     return group[group.Date == group.Date.max()]
    ...: 

In [12]: df.groupby('User').apply(get_max).reset_index(drop=True)
Out[12]: 
   Date User Values
0    14    A      x
1    14    B      z
2    14    C      s

Ещё вопросы

Сообщество Overcoder
Наверх
Меню