Python 在另一列中计算Unique时保留最新日期

Python 在另一列中计算Unique时保留最新日期,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据帧: date name 0 20/06/2014 Allan Watt 1 20/06/2014 Cindy Mark 2 20/06/2014 Luisa Mostert 3 19/06/2014 Allan Watt 我想以下面的数据框结束,它计算“name”中的唯一值,并使用最新的日期值。例如

我有以下数据帧:

             date                  name
0      20/06/2014            Allan Watt
1      20/06/2014            Cindy Mark 
2      20/06/2014         Luisa Mostert
3      19/06/2014            Allan Watt
我想以下面的数据框结束,它计算“name”中的唯一值,并使用最新的日期值。例如:

      latest_date                  name      count
0      20/06/2014            Allan Watt          2
1      20/06/2014            Cindy Mark          1 
2      20/06/2014         Luisa Mostert          1
目前,我正在通过以下操作添加“计数”列:

df = pd.DataFrame({'count': df.groupby(['name']).size()}).reset_index()

                   name      count
0            Allan Watt          2
1            Cindy Mark          1 
2         Luisa Mostert          1
但这会完全删除日期列。鉴于:

df = pd.DataFrame({'count': df.groupby(['name', 'date']).size()}).reset_index()
显然,按日期分组也可以给我留下:

      latest_date                  name      count
0      20/06/2014            Allan Watt          1
1      20/06/2014            Cindy Mark          1 
2      20/06/2014         Luisa Mostert          1
3      19/06/2014            Allan Watt          1

实现预期结果的最佳方法是什么?

您可以执行以下操作:

df['count'] = 1
df = df.groupby('name').agg({'count':sum, 'date':max})
df = df.rename(columns={'date':'latest_date'})
df = df.reset_index()

print df

        name       count latest_date

0     Allan Watt       2  20/06/2014
1     Cindy Mark       1  20/06/2014
2     Luisa Mostert    1  20/06/2014