我想将具有不同但广播兼容的数组的数组堆叠在一起。给定 7x5、7x1、1x5 和 1x1 数组,我想做类似的事情
a475 = mkarr([a75, a71, a15, a11])
其中a455
将是一个 4x7x5 数组。
理想情况下我也希望能够做到
a2275 = mkarr([[a75, a71], [a15, a11]])
获取 2x2x7x5 数组。
在 numpy 中表达这些操作的最简洁的方式是什么?
最佳答案
您可以使用np.broadcast_arrays
:
a475 = np.stack(np.broadcast_arrays(a75, a71, a15, a11))
请注意,这会创建原始数组的 View ,因此不应需要任何额外的内存使用。
关于python - 具有广播功能的 numpy 数组构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53062073/