python - 具有广播功能的 numpy 数组构造

标签 python numpy scipy array-broadcasting numpy-ndarray

我想将具有不同但广播兼容的数组的数组堆叠在一起。给定 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/

相关文章:

python网站语言检测

python - 填充图像的动态大小

python - numpy/python中的时间序列平均

python - 仅将一列从字符串转换为 int

python - 哈希算法 Node js vs Python

python - 将字符串翻译成 "robber' 的语言”

python - scipy.stats 随机抽取之间的区别....rvs 和 numpy.random

python - 计算第一行第一列输入的数组值

python - 如何确定滤波器功能是否适用于半幅度或半功率截止

python - SciPy 插值 ValueError : x and y arrays must be equal in length along interpolation axis