numpy.broadcast_to() 函数用于将一个数组广播(broadcast)为指定的形状。广播是一种将较小数组“扩展”以匹配较大数组形状的方式。本文主要介绍一下NumPy中broadcast_to方法的使用。

numpy.broadcast_to

numpy.broadcast_to(array, shape, subok=False)     [source]

将数组广播为新shape。

参数 :

array :array_like

要广播的数组。

shapetuple

所需数组的形状。

subokbool, 可选

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

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

返回值 :

broadcastarray

具有给定形状的原始数组的只读视图。 它通常不连续。

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

Raises :

ValueError

根据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}")

推荐文档

相关文档

大家感兴趣的内容

随机列表