numpy.broadcast_arrays#

numpy.broadcast_arrays(*args, subok=False)[源代码]#

将任意数量的数组相互广播.

参数:
argsarray_likes

要广播的数组.

subokbool,可选

如果为True,则将传递子类,否则返回的数组将被强制为基类数组(默认值).

返回:
广播的数组元组

这些数组是原始数组的视图.它们通常是不连续的.此外,广播数组的多个元素可能引用单个存储位置.如果需要写入数组,请先进行复制.虽然您可以将 writable 标志设置为True,但写入单个输出值可能会最终更改输出数组中的多个位置.

自 1.17 版本弃用: 当前的输出被标记为如果写入,将发出弃用警告.未来的版本会将 writable 标志设置为False,因此写入它将引发错误.

示例

>>> import numpy as np
>>> x = np.array([[1,2,3]])
>>> y = np.array([[4],[5]])
>>> np.broadcast_arrays(x, y)
(array([[1, 2, 3],
        [1, 2, 3]]),
 array([[4, 4, 4],
        [5, 5, 5]]))

这是一个用于获取连续副本而不是非连续视图的有用习惯用法.

>>> [np.array(a) for a in np.broadcast_arrays(x, y)]
[array([[1, 2, 3],
        [1, 2, 3]]),
 array([[4, 4, 4],
        [5, 5, 5]])]