Pandas - 如何在 Pandas 中创建一系列 x - y、x - y*2、x - y*3 等

问题描述 投票:0回答:1

我有一个数据框,在一列中显示某个项目的季度预测数量,使用 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
python pandas series analysis
1个回答
0
投票

你可以使用这样的东西:

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']
© www.soinside.com 2019 - 2024. All rights reserved.