обобщенные кумулятивные функции в NumPy / SciPy?
Есть ли функция в numpy или scipy (или в какой-то другой библиотеке), которая обобщает идею cumsum и cumprod для произвольной функции. Например, рассмотрим (теоретическую) функцию
cumf( func, array)
func - это функция, которая принимает два числа с плавающей точкой и возвращает число с плавающей точкой. Частные случаи
lambda x,y: x+y
а также
lambda x,y: x*y
являются cumsum и cumprod соответственно. Например, если
func = lambda x,prev_x: x^2*prev_x
и я применяю это к:
cumf(func, np.array( 1, 2, 3) )
мне бы хотелось
np.array( 1, 4, 9*4 )