我有一个带有每小时时间戳记的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
如何使组的标签成为组中的第一个元素?
谢谢
答案 0 :(得分:3)
使用频率MS(月开始),而不是M(月结束)。
答案 1 :(得分:2)
使用resample
在DatetimeIndex
上进行汇总:
df.resample('MS').sum()
value
date
2019-01-01 6
2019-02-01 1
2019-03-01 3
2019-04-01 2