Добавить фиксированное значение в фрейм данных (накапливая в будущих) - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь смоделировать уровень запасов в течение следующих 6 месяцев:

1- У меня есть ожидаемый накопленный спрос на каждый день следующих 6 месяцев.enter image description here Таким образом, без повторного заказа, мой баланс будет более отрицательным каждый день.

2- Моя идея такова: Каждый раз, когда уровень запасов ниже 3000, я отправляю заказкупите 10000, и через 3 дня мой уровень снова увеличится: 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 голосов
/ 20 февраля 2019

Проблема в том, что вы добавляете только 1000 к row, а не к каждой последующей записи.Попробуйте заменить

row['saldo'] + 10000

на

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

Это добавит 1000 к каждой следующей записи.

0 голосов
/ 20 февраля 2019

Вы забыли присвоить значение, которое я думаю.используйте row['saldo'] += 10000 вместо row['saldo'] + 10000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...