Cumulative summation of a numpy array by index?

This solution should be more efficient for large arrays (it iterates over the possible index values instead of the individual entries of I ): import numpy as np I = np. Array(0,0,1,2,2) d = np. Array(0,1,2,3,4) i_max = i.max() c = np.

Empty(i_max+1) for j in range(i_max+1): cj = di==j.sum() print c 1. 2. 7.

This solution should be more efficient for large arrays (it iterates over the possible index values instead of the individual entries of i): import numpy as np I = np. Array(0,0,1,2,2) d = np. Array(0,1,2,3,4) i_max = i.max() c = np.

Empty(i_max+1) for j in range(i_max+1): cj = di==j.sum() print c 1. 2. 7.

Def zeros(ilen): r = for I in range(0,ilen): r. Append(0) i_list = 0,0,1,2,2 d = 1,1,1,1,1 result = zeros(max(i_list)+1) for index in i_list: resultindex+=dindex print result.

2 Close, but I think the OP wants for didx,ridx in enumerate(i_list): resultridx += ddidx. Also, since the tags include numpy, you might use numpy.zeros. – mtrw Aug 31 '10 at 8:18.

If I understand the question correctly, there is a fast function for this (as long as the data array is 1d) >>> I = np. Array(0,0,1,2,2) >>> d = np. Array(0,1,2,3,4) >>> np.

Bincount(i, weights=d) array( 1. , 2. , 7.) np.

Bincount returns an array for all integers range(max(i)), even if some counts are zero.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions