值错误,错误真理,不明确的错误(Value error, truth error, ambiguou

2019-10-19 14:23发布

当使用此代码

 for i in range(len(data)):
   if Ycoord >= Y_west and Xcoord == X_west:
        flag = 4

我得到这个ValueError异常

如果YCOORD> = Y_west和XCOORD == X_west:ValueError异常:具有多于一个元素的数组的真值是不明确的。 使用a.any()或a.all()

然后我使用上述限制

我如何能保持我的限制,我的文件写入去任何帮助吗?

Answer 1:

变量YcoordXcoord可能是numpy.ndarray对象。 您必须使用阵列兼容and操作员检查其所有值的状态。 您可以创建一个标志数组,将值设置为4的所有位置,你的条件是True

check = np.logical_and(Ycoord >= Y_west, Xcoord == X_west)
flag = np.zeros_like(Ycoord)
flag[check] = 4

或者你在你的代码,做测试值按值:

for i in range(len(data)):
    if Ycoord[i] >= Y_west and Xcoord[i] == X_west:
        flag = 4


文章来源: Value error, truth error, ambiguous error