使用numpy变量时,我难以理解这种奇怪的行为-
import numpy as np
from operator import lt,gt
val = lt(np.float64(0.8514),0) - gt(np.float(0.8514),0)
此操作失败,并出现以下错误-
TypeErrorTraceback (most recent call last)
<ipython-input-37-ddc655dbbe89> in <module>()
1 from operator import lt,gt
----> 2 val = lt(np.float64(0.8514),0)
TypeError: numpy boolean subtract,the `-` operator,is deprecated,use the bitwise_xor,the `^` operator,or the logical_xor function instead.
这不应发生,因为lt和gt的输出是布尔变量。以下代码片段都可以顺利运行-
from operator import lt,gt
import numpy as np
val = True - False
val = lt(float(np.float64(0.8514)),0) - gt(float(np.float(0.8514)),0)
我不明白输入为numpy变量时出了什么问题。上面的代码是在Python-2中执行的。