pandas Grouper by month aggregation返回上个月作为datetime index

时间:2017-11-02 21:47:52

标签: python python-3.x pandas

我使用以下代码将ohlc(开盘价,最高价,最低价,收盘价)分组为每月汇总。

df = df.groupby(pd.Grouper(freq='M',level=0,label='left')).agg(ohlc_dict)

此代码可以完美地聚合分钟,数天和数周。但是,当我汇总数月时,它会将我作为上个月最后一天(而不是实际月份的第一天)的日期时间值返回。例如:

datetime                                                                 
2004-05-31 20:59:00

正在汇总到:

datetime                                                                 
2004-04-30

如果我使用label='right',则会返回2005-05-31,此语句的所需值为2005-05-01。为什么会发生这种情况以及实现所需声明的最佳方式是什么?

谢谢

1 个答案:

答案 0 :(得分:0)

如@MaxU提供的那样,使用freq='MS'代替'M'。 您可以在此处查看所有可能的频率:

http://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timeseries-offset-aliases