我有两个numpy数组:
例如,可以再次获取一个新的维度为(70L,1024L,1024L)的数组,然后沿着第一维进行求和,以获得一个维度为(1024L,1024L)的数组。
- 一个1D数组t,形状为(70L,),元素称为ti
- 一个3D数组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函数?
非常感谢任何链接或信息。
格雷格