私はnumpyでこのPythonコードを実装する方法を探しています:
N = np.arange(5)
for i in range(5):
for k in range(i):
N[i] += N[k]
私が実際に大きな 2 次元配列 (1300*1300) で作業していると仮定します。
np.cumsum()
進化する配列ではなく、元の配列の値のみを合計することを除いて、1つの軸N[0][i]
またはで良い方法を提供します。N[i][0]
私はそれを行う方法を理解できません。何か案が ?
@編集 :
物事を明確にするために:
1 次元配列の場合、ループは次のようになります。
Out[89]: array([ 0, 1, 3, 7, 15])
cumsum を使用:
array([ 0, 1, 3, 6, 10])
2-D の場合、次のようになります。
N = np.arange(25).reshape(5,5)
for i in range(len(N)):
N = np.cumsum(N, axis=i)