📅  最后修改于: 2023-12-03 15:03:19.372000             🧑  作者: Mango
numpy.broadcast_to()
函数返回一个元素为指定形状的数组,其内容被复制到目标形状,以满足广播规则。这个函数返回的数组不是只读的。
numpy.broadcast_to(array, shape, subok=False)
array
:源数组,将被广播到新形状。shape
:新形状的形状,必须是一个元组,并且每个元素必须为非负整数。 shape
不可以大于 array
的形状或在满足广播规则的情况下不足以匹配所有数组。 请参见 numpy.broadcast
函数的文档以获取更详细的解释。subok
:布尔标志,表示返回的数组是否可以为子类。 如果为 True
,则返回的数组可以是子类(和输入数组相同)。 否则,它们将始终是基础类(例如,如果输入为数组,返回的也将是数组)。返回具有新形状的源数组的副本。返回的数组不是只读的。
import numpy as np
# 定义源数组
x = np.array([1, 2, 3])
# 将数组扩展为 (3, 3) 形状
y = np.broadcast_to(x, (3, 3))
print(y)
执行上述代码,就会得到下面的输出结果:
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
在这个例子中,我们将输入数组 x
扩展为一个 (3, 3)
形状的数组 y
。由于源数组的形状为 (3,)
,因此 broadcast_to()
自动重复 x
来获得符合新形状的数组。