pylint, pandas: Сравнение с True должно быть просто "expr" или "expr is True" (одиночное сравнение)
Кто-нибудь решал эту проблему с использованием панды?
C:525,59: Comparison to True should be just 'expr' or 'expr is True' (singleton-comparison)
это происходит в строке, где я использую:
df_current_dayparts_raw['is_standard'] == True
Я попробовал это, но не сработало:
df_current_dayparts_raw['is_standard'] is True
df_current_dayparts_raw['is_standard'].isin([True])
df_current_dayparts_raw['is_standard'].__eq__(True)
5 ответов
Если у вас есть экземпляр фрейма данных со следующим кодом
test = pd.DataFrame({"bool": [True, False, True], "val":[1,2,3]})
>>> test
bool val
0 True 1
1 False 2
2 True 3
следующее должно возвращать только те поля, где "bool" имеет значение True
test[test['bool']]
bool val
0 True 1
2 True 3
Вам не нужно явно указывать, что test['bool'] == True, test['bool'] должно быть достаточно. Это должно быть совместимо с pylint и удовлетворять одноэлементному сравнению.
Немного поздновато, но может кому пригодится. Это сработало для меня:
if df_current_dayparts_raw['is_standard']:
print("True")
If df_current_dayparts_raw['is_standard'] :
print ("This is how you do it")
-
- когда я использую ноутбук jupyter на Mac. Я не получаю такой ошибки:
-
- получить версию Python
import sys
print(sys.version)
-
- получить набор данных игрушек
import pandas as pd
data = pd.DataFrame({"A":['a', 'b', 'c', 'd'],"b": [1, 2, 3, 4]})
data
Вместо того <your_expr> == True
, пытаться numpy.equal(<your_expr>, True)
. Конкретно:
imponrt numpy as np
np.equal(<your_expr>, True)