Pandas使用pd.Grouper按月初分组

6

我有一个包含每小时时间戳的数据框:

2019-01-01 0:00:00             1
2019-01-01 1:00:00             2
2019-01-11 3:00:00             1
2019-01-21 4:00:00             2
2019-02-01 0:00:00             1
2019-03-05 1:00:00             2
2019-03-21 3:00:00             1
2019-04-08 4:00:00             2

我正在使用Pandas Grouper按月对数据进行分组和求和:

monthly_data = [pd.Grouper(freq='M', label='left')].sum()

预期输出:
2019-01-01 0:00:00             6
2019-02-01 0:00:00             1
2019-03-01 0:00:00             3
2019-04-01 0:00:00             2

实际输出:

2018-12-31 0:00:00             6
2019-01-31 0:00:00             1
2019-02-28 0:00:00             3
2019-03-30 0:00:00             2

如何让组的标签成为该组的第一个元素?

谢谢

2个回答

13

1
有没有一种方法可以使这个系统化?即确保无论选择什么频率,标签都对应于周期的开始? - Vincent

2

使用resampleDatetimeIndex上进行聚合:

最初的回答。

df.resample('MS').sum()

            value
date             
2019-01-01      6
2019-02-01      1
2019-03-01      3
2019-04-01      2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接