我有一个数据框,在一列中显示某个项目的季度预测数量,使用 amount / 13 我可以得出预测的每周消耗量。 (一个季度有 13 周)。 我的问题是:我还在单独的列中列出了每件商品的当前数量。我想添加一个额外的列,表示该季度的每周,并显示现有库存数量按预测的每周数量减少。 我知道如果我手动添加这些列,公式会是什么,但我忍不住想象有一种更有效的方法来实现这一点。
当前数据看起来像这样:
item_number | qty | quarter | onhand | weekly
-------------------+---------+---------+---------+---------------------
M17-4R1.0 | 20.79 | 2 | 32.00 | 1.59884615384615
M17-4R1.25 | 22.24 | 2 | -42.02 | 1.71075384615385
M17-4R1.375 | 36.12 | 2 | 77.72 | 2.7782
M17-4R1.5 | 74.29 | 2 | 134.12 | 5.71446923076924
M17-4R1.625 | 46.35 | 2 | 63.10 | 3.56513076923077
M17-4R.369 | 86.79 | 2 | 16.00 | 6.67630769230769
M17-4R.375 | 87.36 | 2 | 702.72 | 6.72026153846154
你可以使用这样的东西:
for i in range(13):
if i==0:
df[f'onhand_w{i+1}'] = df.loc[:,"onhand"] - df.loc[:,'weekly']
else:
df[f'onhand_w{i+1}'] = df.loc[:,f'onhand_w{i}'] - df.loc[:,'weekly']