numpy.broadcast_arrays
numpy.broadcast_arrays(*args, subok=False) [source]
相互广播任意数量的arrays。
参数 : | `*args` :array_likes 要广播的阵列。 subok : 如果为 返回的数组将被强制为基类数组(默认)。 |
返回值 : | broadcasted :arrays的list 这些阵列是原始阵列的视图。 它们通常不连续。 此外,广播阵列中的一个以上元素可以引用单个存储位置。 如果需要写入阵列,请先进行复制。 虽然可以将 但是写入单个输出值可能最终会更改输出数组中的多个位置。 从版本1.17开始不推荐使用:当前已标记输出,因此如果写入该信息, 则将发出不推荐使用的警告。 将来的版本会将 因此对其进行写入将引发错误。 |
例子
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])