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