Последовательный расчет из общего значения в Pandas или Python

#python #pandas #sum

#python #pandas #сумма

Вопрос:

У меня есть Pandas df:

   Number
0     -30
1       2
2      12
3      -6
4      22
5      -3
6     -10
  

Мое начальное значение, общее, равно 1500.

Я хотел бы суммировать каждое значение строки из предыдущего, а начальное значение равно 1500, чтобы получить это:

   Number  Path
0     -30  1470
1       2  1472
2      12  1484
3      -6  1478
4      22  1500
5      -3  1497
6     -10  1487
  

Я пытался с помощью df.diff(), но он не может вычислить его с 1500 и начать операцию оттуда.

Есть ли другой способ сделать это?

Спасибо.

Ответ №1:

cumsum затем добавьте общее:

 total = 1500
df['Path'] = total df['Number'].cumsum()
  

    Number  Path
0     -30  1470
1       2  1472
2      12  1484
3      -6  1478
4      22  1500
5      -3  1497
6     -10  1487
  

Ответ №2:

Ваша задача может быть разбита на

  1. Вычислите совокупную сумму
  2. Смещение суммы на 1500 (аналогично переводу origin, если вы можете связать с геометрией)
 df.Number.cumsum()   1500