当我做np.where时,PyCharm会发出警告(temp == True)
我的完整代码:
from numpy import where, array
a = array([[0.4682], [0.5318]])
b = array([[0.29828851, 0., 0.28676873, 0., 0., 0., 0., 0.28801431, 0., 0., 0.71283046, 0.],
[0.70171149, 0., 0.71323127, 0., 0., 0., 0., 0.71198569, 0., 0., 0.28716954, 0.]])
temp = b > 1.1*a
pos = where(temp == True)
print(pos)
如果我将temp == True改为temp为True,则代码无法正常工作,如其他帖子所示。
该警告应如何解决?
where(temp)有效。非常感谢 !! @Joao Vitorino感谢@jedwards的解释。它有助于。
不要将布尔值与布尔值进行比较。
你应该检查是真还是假。
b == true
if b: # If b is True
do something
在你的情况下
temp = b > 1.1*a
pos = where(temp)
Here一些解释
根据Python中的PEP8指南,将事物与True进行比较并不是首选模式。
temp = True
pcos = where(temp)
如果将'temp'指定为false,则仍然在条件语句中仅指定'temp'将导致True。例如:
temp = False
pros = while(temp) # if or while condition
注意:如果您的代码不遵循PEP8,则此情况不会出现任何错误。