Эффективный продукт одномерного массива и трехмерного массива в одном измерении - NumPy

У меня есть два массива:

1D массив, называемый t формы (70L,) с элементом, называемым, скажем, tiТрехмерный массив называется I с формой (70L, 1024L, 1024L), каждый элемент называется Ii. Таким образом, Ii имеют размеры (1024L, 1024L)

Я хотел бы сделать произведение двух массивов вдоль первого измерения, т.е.

tI = t1*I1,t2*I2,...,tN*IN

например, чтобы снова получить новый массив измерений (70L, 1024L, 1024L) и затем взять сумму вдоль первого измерения, чтобы получить массив измерений (1024L, 1024L):

tsum = t1*I1 + t2*I2 + ... +tN*IN

На данный момент я удовлетворен выполнением следующего:

tI = np.asarray([t[i]*I[i,:,:] for i in range(t.shape[0])])
tsum = np.sum(tI,axis=0)

Но это будет немного медленным, поскольку размеры моего массива увеличиваются. Мне было интересно, существует ли функция numpy или scipy, более оптимизированная для этой конкретной задачи?

Заранее спасибо за любую ссылку или информацию.

Greg

Ответы на вопрос(1)

Ваш ответ на вопрос