【发布时间】:2014-06-27 04:53:11
【问题描述】:
我有以下数据框:
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
我想最终得到以下数据框,它计算“名称”中的唯一值并使用最新的日期值。例如:
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
实现预期结果的最佳方法是什么?
【问题讨论】: