我想将具有不同但广播兼容阵列的阵列堆叠在一起。给定7x5、7x1、1x5和1x1数组,我想做类似的事情
a475 = mkarr([a75, a71, a15, a11])
其中a455
将是一个4x7x5的数组。
理想情况下,我也希望能够做到
a2275 = mkarr([[a75, a71], [a15, a11]])
获得2x2x7x5阵列。
用numpy表示这些操作的最简洁方法是什么?
答案 0 :(得分:3)
您可以使用np.broadcast_arrays
:
a475 = np.stack(np.broadcast_arrays(a75, a71, a15, a11))
请注意,这将创建原始数组的视图,因此不应占用任何额外的内存。