Python:从多个用户中选择最近一个条目的行

时间:2018-06-17 09:44:18

标签: python pandas datetime dataframe

我有一个包含3列的数据帧df:

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图像):

image

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分: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