ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()进行元素比较

2024-10-03 00:32:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个float类型的数组(compare和hh3)。我想比较“compare”和“hh3”的每个元素,结果被加到另一个向量pp中

我已经在这个网站上搜索了这个错误,我知道它的原因是“如果a>;如果a和b是数组,则“b”比较不起作用

#hh3 is a array of length 70
#pp is an zero vector of a specified length
K = 0
compare = np.arange(1, 2, 1e-4)
compare_size = len(compare)

for j in range(compare_size):
     for i in range(no*nos):
        if hh3[i] >= compare[j]:
          pp[K] = pp[K] + 1
        if pp[K] == 0:
          break
      K = K + 1

最后我要比较hh3的每个I元素和compare的每个j元素。 错误出现在“if hh3[i]>;”比较[j]:“


Tags: ofingt元素forsizeifis
1条回答
网友
1楼 · 发布于 2024-10-03 00:32:19

当给if条件一个布尔表/布尔列表而不是布尔标量时,就会发生这种类型的错误

在您的例子中,可能有hh3[i] >= compare[j]pp[K] == 0返回布尔数组

您可能需要验证hh3.shapepp.shape是(value,)类型

相关问题 更多 >