首页 > 解决方案 > 如何使用 Grouper 进行分组,但我想在频率中使用最近的日期作为参考

问题描述

我想在 pandas Grouper 中使用最后一个日期作为参考,而不是代码中的第一个日期。

这个想法是下一个。

我的df是

date       value    c1   c2

2019-03-06  500000.0  1   1

2019-03-16  500000.0  2   2

2019-04-06  300000.0  1    1

当我使用:

df.groupby(pd.Grouper(key='date',freq='30D')):
2019-03-06  1000000.0  3

2019-04-05  300000.0  1

但我想要

2019-03-06  500000.0  1

2019-04-05  800000.0  3

标签: pythonpandas

解决方案


我觉得应该是31天

df.groupby(pd.Grouper(key='date',freq='31D',closed='right', label='right')).sum()
Out[325]: 
               value  c1  c2
date                        
2019-03-06  500000.0   1   1
2019-04-06  800000.0   3   3

推荐阅读