带有多列和汇总的Python Group BY

时间:2018-10-03 23:25:01

标签: python pandas pandas-groupby cumsum

我希望你很好。 我有一个问题:我最初有一张下表

df = pd.DataFrame({'value': [0, 1, 8, 11, 12, 17, 0, 0, 0, 0, 1, 2, 7, 3, 1, 0, 0],
               'month': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5]})
print(df)

我需要按月份分组并应用cumsum。 所以我做到了:

df['Cumsum'] = df.groupby((df.Month == 1).cumsum())['Value'].cumsum()
print(df)

但是现在不起作用了,因为 因为在每年年底,我不一定都有一月份的数据。 例如一年,我只有五月的数据,因此指令“ df.Month == 1”不起作用。

但是,我有年份变量。 所以我想将'df.Month == 1'替换为'df.Month == 1 OR df.Year!= df.Year(在前一行)'

我知道这不是很能理解,因为我的英语不太好。 谢谢您的帮助

0 个答案:

没有答案