Pandas — накопительная сумма значений предыдущих строк.Python

Программы на Python
Ответить
Anonymous
 Pandas — накопительная сумма значений предыдущих строк.

Сообщение Anonymous »

Вот пример набора данных:
id a
0 5 1
1 5 0
2 5 4
3 5 6
4 5 2
5 5 3
6 9 0
7 9 1
8 9 6
9 9 2
10 9 4

На основе набора данных я хочу сгенерировать сумму по столбцу. Для первых трех строк: sum=sum+a(группировать по идентификатору). Начиная с 4-й строки, каждая строка содержит совокупную сумму предыдущих 3 строк значения (группируется по идентификатору). Прокрутите каждую строку.
Желаемый результат:
id a sum
0 5 1 1
1 5 0 1
2 5 4 5
3 5 6 5
4 5 2 10
5 5 3 12
6 9 0 0
7 9 1 1
8 9 6 7
9 9 2 7
10 9 4 9

Код, который я пробовал:
df['sum']=df['a'].rolling(min_periods=1, window=3).groupby(df['id']).cumsum()


Подробнее здесь: https://stackoverflow.com/questions/687 ... row-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»