У меня большой список 2d списка, и я пытаюсь найти количество накопленной суммы строк. Сумма накопления должна быть только для заданного окна (24) и перезапускаться в следующем окне.
проблема в том, что когда я использую numy cumsum, я не смогу перезапустить сумму после этого окна, например, здесь (после индекса 3)
любая помощь будет оценена
import numpy as np
a=([[1,1,6,7,3,9,1],
[2,1,0,1,0,1,2],
[3,1,6,7,3,9,3],
[4,0,0,0,0,0,4],
[5,1,6,7,3,9,5],
[6,1,6,7,3,9,6],
[10,1,0,1,0,1,10]])
c = np.cumsum(a, axis = 0)
c[3:] = c[3:]- c[:-3]
print 'c',c
Результаты:
c[[ 1 1 6 7 3 9 1]
[ 3 2 6 8 3 10 3]
[ 6 3 12 15 6 19 6]
[ 9 2 6 8 3 10 9]
[12 2 12 14 6 18 12]
[15 2 12 14 6 18 15]
[21 3 12 15 6 19 21]]
результат должен перезапускаться после каждого окна (3)
ожидаемый результат должен быть
c=[[ 1 1 6 7 3 9 1]
[ 3 2 6 8 3 10 3]
[ 6 3 12 15 6 19 6]
[ 4 0 0 0 0 0 4]
[ 9 1 6 7 3 19 9]
[15 2 12 14 6 18 15]
[ 9 1 6 7 3 9 9 ]]