将 numpy 数组与空数组相加

问题描述 投票:0回答:1

我需要将一个普通的 numpy 数组与一个空数组相加

x = np.ones([2,3])
x + np.array([]).reshape(2,-1)

输出:

ValueError: operands could not be broadcast together with shapes (2,3) (2,0) 

将它们重塑为其他维度是行不通的,例如

x.reshape(-1) + np.array([])
。 并且制作一个 if 语句来查看右侧项是否为空似乎没有必要。

python numpy pytorch
1个回答
0
投票

出现此问题的原因是 NumPy 尝试将形状为 (2,0) 的数组(空数组重塑为 (2,0))与另一个形状为 (2,3) 的数组进行广播 (np.ones([2,3]) ),由于形状不兼容,这是不可能的。

要解决这个问题,您可以使用 np.zeros_like(x) 创建一个与 x 形状相同的空数组,然后将其添加到 x 像下面这样 将 numpy 导入为 np x = np.ones([2, 3]) 空数组 = np.zeros_like(x) 结果 = x + 空数组

© www.soinside.com 2019 - 2024. All rights reserved.