带广播的 numpy 数组构造

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

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

a4554x7x5 阵列在哪里。理想情况下,我也希望能够做到

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

得到一个 2x2x7x5 的数组。

在 numpy 中表达这些操作的最简洁方法是什么?


肥皂起泡泡
浏览 116回答 1
1回答

qq_花开花谢_0

您可以使用np.broadcast_arrays:a475 = np.stack(np.broadcast_arrays(a75, a71, a15, a11))请注意,这会创建原始数组的视图,因此它不应需要任何额外的内存使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python