我有一个对象的2D速度值的x和y分量的ndarray,例如:
(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'>
我必须检查是否有任何行的第一和第二个成分的值大于55。我还需要对任何负速度分量取绝对值,但是首先我尝试了以下方法,所有这些都给出了错误。
(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,)