#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:
Ваша задача может быть разбита на
- Вычислите совокупную сумму
- Смещение суммы на 1500 (аналогично переводу origin, если вы можете связать с геометрией)
df.Number.cumsum() 1500