Question

When using this code

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

I get this ValueError

if Ycoord >= Y_west and Xcoord == X_west: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

then i use the above restriction

Any help on how i can keep my restriction and go on with the writing of my file?

Was it helpful?

Solution

The variables Ycoord and Xcoord are probably numpy.ndarray objects. You have to use the array compatible and operator to check all its values for your condition. You can create a flag array and set the values to 4 in all places where your conditional is True:

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

or you have to test value-by-value in your code doing:

for i in range(len(data)):
    if Ycoord[i] >= Y_west and Xcoord[i] == X_west:
        flag = 4
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top