我有一个3D数组和三个1D数组,分别表示x轴、y轴和z轴的值。我想用一维数组乘以三维数组。使用以下方法可以获得正确的值:
array_x = np.array([1,2,3])
array_y = np.array([1,2,3])
array_z = np.array([1,2,3])
array3D = something
for ix, x in enumerate(array_x):
for iy, y in enumerate(array_y):
for iz, z in enumerate(array_z):
array3D[ix][iy][iz] *= x*y*z
在python中实现这一点的最快方法是什么? 我还希望避免将三个1D阵列转换为3D阵列,因为我需要保持较低的内存使用率
您可以沿每个阵列要相乘的尺寸扩展阵列:
这与嵌套循环代码的答案相同,但要快得多
相关问题 更多 >
编程相关推荐