numpy.broadcast_to
numpy.broadcast_to(array, shape, subok=False) [source]
将数组广播为新shape。
参数 : | array :array_like 要广播的数组。 shape : 所需数组的形状。 subok : 如果为True,则将传递子类,否则, 返回的数组将被强制为基类数组(默认)。 |
返回值 : | broadcast : 具有给定形状的原始数组的只读视图。 它通常不连续。 此外,广播阵列中的一个以上元素可以引用单个存储位置。 |
Raises : |
根据NumPy的广播规则,如果阵列与新形状不兼容。 |
Notes
1.10.0版中的新功能。
例子
1)将一维数组广播为二维数组
import numpy as np # 创建一个一维数组 a = np.array([1, 2, 3]) # 将一维数组广播为形状 (3, 3) broadcasted_a = np.broadcast_to(a, (3, 3)) print("原始数组:") print(a) print("\n广播后的数组:") print(broadcasted_a)
2)广播标量为多维数组
import numpy as np # 标量值 a = 5 # 将标量广播为形状 (2, 3) broadcasted_a = np.broadcast_to(a, (2, 3)) print("广播后的数组:") print(broadcasted_a)
3)将二维数组广播为三维数组
import numpy as np # 创建一个二维数组 a = np.array([[1, 2, 3], [4, 5, 6]]) # 将二维数组广播为形状 (3, 2, 3) broadcasted_a = np.broadcast_to(a, (3, 2, 3)) print("广播后的数组:") print(broadcasted_a)
4)广播不匹配的形状会报错
import numpy as np # 创建一个一维数组 a = np.array([1, 2, 3]) # 尝试将数组广播为不兼容的形状会导致错误 try: broadcasted_a = np.broadcast_to(a, (2, 3)) except ValueError as e: print(f"广播错误: {e}")