Что такое оптимизированный для Python-CPU способ применения простой операции, такой как умножение:
- вдоль одного измерения двумерного массива
- ко всем элементам другого измерения массива 2D
- в соответствии с элементами другого 1D массива
пример:
x=np.arange(150).reshape([50,3])
y=np.arange(50)+10
Я хочу сделать:
np.array([x[i,:]*y[i] for i in range(50)])
но я бы хотел сделать это как можно быстрее, поскольку «50» может составлять миллионы.
кстати, это полностью эквивалентно:
np.array([x[i,:]*j for i,j in enumerate(y)])
Я сделал некоторые обновления здесь, но, наконец, открыл новые вопросы