numpy.broadcast_arrays 是一个用于将多个数组广播成相同形状的函数。广播机制是 NumPy 中一种强大的功能,可以在数组形状不同的情况下进行元素级操作。broadcast_arrays 函数会将输入的数组广播为兼容的形状,以便可以进行加减乘除等操作。本文主要介绍一下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

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

例子

1)使用 numpy.broadcast_arrays 将两个不同形状的数组广播成相同形状

import numpy as np

# 定义两个不同形状的数组
a = np.array([1, 2, 3])
b = np.array([[1], [2], [3]])

# 使用 numpy.broadcast_arrays 将它们广播成相同形状
broadcasted_a, broadcasted_b = np.broadcast_arrays(a, b)

# 输出广播后的数组
print("Broadcasted a:")
print(broadcasted_a)

print("Broadcasted b:")
print(broadcasted_b)

2)使用示例

import numpy as np

# 定义两个不同形状的数组
x = np.array([[1, 2, 3]])
y = np.array([[4], [5]])

# 使用 numpy.broadcast_arrays 进行广播
broadcasted_arrays = np.broadcast_arrays(x, y)

# 输出广播后的数组(默认是非连续视图)print("Broadcasted arrays (non-contiguous views):")
print(broadcasted_arrays[0])
print(broadcasted_arrays[1])

# 使用列表推导式创建数组的连续副本
continuous_arrays = [np.array(a) for a in broadcasted_arrays]

# 输出生成的连续副本数组print("\nBroadcasted arrays (continuous copies):")
print(continuous_arrays[0])
print(continuous_arrays[1])

推荐文档

相关文档

大家感兴趣的内容

随机列表