Накопить сумму для 2-го списка в Python 2.7 - PullRequest
0 голосов
/ 11 июля 2019

У меня большой список 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 ]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...