我希望根据行中的值在 panda 中创建一个新列。我的样本数据:
df=pd.DataFrame({"A":['a','a','a','a','a','a','b','b','b'],
"Sales":[2,3,7,1,4,3,5,6,9,10,11,8,7,13,14],
"Week":[1,2,3,4,5,11,1,2,3,4])
我想要一个与每周对应的新列“Last3WeekSales”,其中包含前 3 周的销售额总和。
注意: Shift() 在这里不起作用,因为缺少几周的数据。
我认为的逻辑:检查周数。在每一行中,然后总结来自 w-1、w-2、w-3 的数据。
需要输出:
A Week Last3WeekSales
0 a 1 0
1 a 2 2
2 a 3 5
3 a 4 12
4 a 5 11
5 a 11 0
6 b 1 0
7 b 2 5
8 b 3 11
9 b 4 20