通过pd.Grouper在月初对熊猫进行分组

时间:2019-05-23 18:07:24

标签: python pandas datetime group-by pandas-groupby

我有一个带有每小时时间戳记的DataFrame:

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 个答案:

答案 0 :(得分:3)

使用频率MS(月开始),而不是M(月结束)。

请参见dateoffset objects in the docs

答案 1 :(得分:2)

使用resampleDatetimeIndex上进行汇总:

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

            value
date             
2019-01-01      6
2019-02-01      1
2019-03-01      3
2019-04-01      2
相关问题