我正在处理一些数据,我想获取每匹马在其最近6场比赛中(包括本次比赛)的排名(finishing position
)。本次比赛的日期定义为'race_id'
。
是否有一种方法可以使用groupby
和agg
,但仅聚合前6个值?
数据框如下:
finishing_position horse_id race_id
1 K01 2014011
2 K02 2014011
3 M01 2014011
4 K01 2014012
2 K01 2014021
3 K01 2014031
1 M01 2015011
2 K01 2016012
1 K02 2016012
3 M01 2016012
4 J01 2016012
I want the result to be
finishing_position horse_id race_id recent
1 K01 2014011
2 K02 2014011
3 M01 2014011
4 K01 2014012 1
2 K01 2014021 1/4
3 K01 2014031 1/4/2
1 M01 2015011 3
2 K01 2016012 1/4/2/3
1 K02 2016012 2
3 M01 2016012 3/1
4 J01 2016012