I have a ndarray of x and y component of 2D speed values of an object, such as:
(Pdb) p highspeedentries
array([[ 0. , 52.57],
[-40.58, 70.89],
[-57.32, 76.47],
[-57.92, 65.1 ],
[-52.47, 96.68],
[-45.58, 77.12],
[-37.83, 69.52]])
(Pdb) p type(highspeedentries)
<class 'numpy.ndarray'>
I have to check if there is any row that contains a value higher than 55 for the first and second components in the row. I also need to take the absolute value for any negative speed component, but first I tried the following and all of them give errors.
(Pdb) p highspeedentries[highspeedentries[:,1] > 55 and highspeedentries[0,:] > 55]
*** ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
(Pdb) p highspeedentries[highspeedentries[:,1] > 55 & highspeedentries[0,:] > 55]
*** TypeError: ufunc 'bitwise_and' not supported for the input types, and the inputs could not be
safely coerced to any supported types according to the casting rule ''safe''
(Pdb) p highspeedentries[np.logical_and(highspeedentries[:,1] > 55, highspeedentries[0,:] > 55)]
*** ValueError: operands could not be broadcast together with shapes (7,) (2,)
highspeedentries[0,:] > 55replace withhighspeedentries[:,0] > 55