将固定值添加到数据框(累积到将来的值)

时间:2019-02-20 10:09:19

标签: python pandas numpy dataframe

我正在尝试在接下来的6个月内模拟库存水平:

1-我有未来6个月每天的预期累计需求。 enter image description here  因此,无需重新订购,我的余额每天都会变得更负。

2-我的想法是:  每当库存水平低于3000时,我都会发送一份购买10000的订单,三天后,我的水平将再次提高: enter image description here

将这个值添加到所有未来值中的最佳方法是什么?

       ds         saldo
0 2019-01-01  10200.839819
1 2019-01-02   5219.412952
2 2019-01-03      3.161876
3 2019-01-04  -5507.506201
4 2019-01-05 -10730.291221
5 2019-01-06 -14406.833593
6 2019-01-07 -17781.500396
7 2019-01-08 -21545.503098
8 2019-01-09 -25394.427708

我开始这样做:

c = 0
for index, row in forecast_data.iterrows():
  if row['saldo'] < 3000:
    c += 1
    if c == 3:
      row['saldo'] + 10000
      c = 0

但是它只是添加到实际行中,而不是用于累积的将来行中。

print(row['ds'], row['saldo'])
9 2019-01-10 -29277.647817

2 个答案:

答案 0 :(得分:1)

您忘记分配我认为的价值。使用row['saldo'] += 10000代替row['saldo'] + 10000

答案 1 :(得分:1)

问题在于,您仅向row添加1000,而不是随后的每个条目添加1000。尝试更换

row['saldo'] + 10000

forecast_data['saldo'][index:] += forecast_data['saldo'][index:] + 1000

这将为后面的每个条目增加1000。