numpy.broadcast_arrays#
- numpy.broadcast_arrays(*args, subok=False)[source]#
将任意数量的数组互相广播。
- 参数:
- *args类数组
要广播的数组。
- subok布尔值,可选
如果为 True,则子类将被透传,否则返回的数组将被强制为基类数组(默认)。
- 返回:
- broadcasted数组元组
这些数组是原始数组的视图。它们通常不是连续的。此外,一个广播数组的多个元素可能引用同一个内存位置。如果需要写入这些数组,请先创建副本。虽然可以将
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]])]