2015-09-19 4 views
0

Это очень маленькая версия моего скрипта. Я изменил его, чтобы проверить инструкцию if. Значение логического значения False, и это правильно! Когда я изменяю значение строки, highRisk всегда получает правильное значение (True/False). Но даже при правильном значении highRisk результат всегда «хорошо». Кто-нибудь может объяснить мне почему?Оператор Python IF всегда возвращает True

row = 5 

riskHigh = (reasons.iloc[row,1:2] == "high").bool 

if riskHigh: 
    print "ok" 
else: 
    print "oops" 

Результаты:

In [60]: row = 5 
    ...: riskHigh = (reasons.iloc[row,1:2] == "high").bool 
    ...: 
    ...: if riskHigh: 
    ...:  print "ok" 
    ...: else: 
    ...:  print "oops" 
    ...: 
    ...: 
ok 

In [61]: print riskHigh 
<bound method Series.bool of Risk_Rating False 
Name: 5, dtype: bool 

ответ

5

Как говорит печати riskHigh это метод. Вы должны позвонить по этому методу:

riskHigh = (reasons.iloc[row,1:2] == "high").bool() 
+0

Спасибо, Даниэль! Кажется, что проблема «()« afoter .bool »исправила проблему. – andre3s

Смежные вопросы