【发布时间】:2020-09-26 04:09:40
【问题描述】:
我有一张类似的桌子
import pandas as pd
data = [['2019-02-01',0 ,5],
['2019-02-01',1, 12],
['2019-02-01',2,18],
['2019-02-01' ,3, 23],
['2019-02-01' ,4 ,20],
['2019-03-01',0 ,12],
['2019-03-01', 1,7],
['2019-03-01' ,2, 6],
['2019-03-01' ,3, 5],
['2019-03-01' ,4, 8]]
df = pd.DataFrame(data, columns = ['Start_Month', 'Bucket','Complete'])
我想要一个新列,其中每个 start_Month 它将计算完成的移位值的总和差异。就像第一个值将是 Complete groupby start_Month 的总和,例如 2019-02-01 是 78,而下一个即存储桶 1 将是 78-5=8=73(5 是存储桶 0 的完整值)和存储桶2 对于相同的 start_month 将是 78-5-12=61,如下图所示,但在显示计算的图片中。
df['new_Com']=df.groupby(['Start_Month']).Complete.sum() - df.groupby(['Start_Month']).Complete.shift(1).cumsum().fillna(0).astype(int)
这不起作用。
【问题讨论】: