带广播的numpy数组构造

时间:2018-10-30 10:19:38

标签: python numpy scipy numpy-broadcasting numpy-ndarray

我想将具有不同但广播兼容阵列的阵列堆叠在一起。给定7x5、7x1、1x5和1x1数组,我想做类似的事情

 a475 = mkarr([a75, a71, a15, a11])

其中a455将是一个4x7x5的数组。 理想情况下,我也希望能够做到

 a2275 = mkarr([[a75, a71], [a15, a11]])

获得2x2x7x5阵列。

用numpy表示这些操作的最简洁方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用np.broadcast_arrays

a475 = np.stack(np.broadcast_arrays(a75, a71, a15, a11))

请注意,这将创建原始数组的视图,因此不应占用任何额外的内存。