¿Hay una función NumPy para calcular sumas parciales?

kmaster:

Dada una matriz 1-D, Ay una lista de níndices únicos y ordenados idx, me gustaría para calcular sumas de A[idx[i]:idx[i + 1]]para i = 0a n - 1. Una solución basada para-es:

S = [A[idx[i]:idx[i + 1]].sum() for i in range(n - 1)]

Pero supongo que sería muy lento si esto nes grande, ya que se realiza a nivel de Python. ¿Hay una función NumPy para lograr este (esperemos más rápido)?

El físico loco:

Que busca la reduceatforma de np.add:

np.add.reduceat(A, idx)[:-1]

El [:-1]está ahí para eliminar el último elemento que se reduceatañade a la suma de idx[-1]a A.size.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=388180&siteId=1
Recomendado
Clasificación