numpy.broadcast_arrays#

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

将任意数量的数组广播到一起。

参数:
*argsarray_likes

要广播的数组。

subokbool, optional

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

返回:
broadcastedtuple of arrays

这些数组是对原始数组的视图。它们通常不是连续的。此外,广播数组的多个元素可能指向同一内存位置。如果要写入数组,请先进行复制。虽然可以将 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]])]