NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中broadcast_arrays方法的使用。

numpy.broadcast_arrays

numpy.broadcast_arrays(*args, subok=False)     [source]

相互广播任意数量的arrays。

参数 :

`*args` :array_likes

要广播的阵列。

subokbool, 可选

如果为True,则将传递子类,否则,

返回的数组将被强制为基类数组(默认)。

返回值 :

broadcasted :arrays的list

这些阵列是原始阵列的视图。 它们通常不连续。

 此外,广播阵列中的一个以上元素可以引用单个存储位置。 

如果需要写入阵列,请先进行复制。

 虽然可以将writable标志设置为True

但是写入单个输出值可能最终会更改输出数组中的多个位置。 

从版本1.17开始不推荐使用:当前已标记输出,因此如果写入该信息,

则将发出不推荐使用的警告。 

将来的版本会将writable标志设置为False

因此对其进行写入将引发错误。

例子

>>> 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]])]

推荐文档

相关文档

大家感兴趣的内容

随机列表