У меня есть 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-изображение):
Может ли кто-нибудь помочь мне с этой проблемой?
В этом ответе предполагается, что в столбце " 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