Как сравнить фрейм данных pandas с None в Python?
как сравнить фрейм данных pandas с None
? У меня есть конструктор, который принимает один из parameter_file
или pandas_df
но никогда обоих.
def __init__(self,copasi_file,row_to_insert=0,parameter_file=None,pandas_df=None):
self.copasi_file=copasi_file
self.parameter_file=parameter_file
self.pandas_df=pandas_df
однако, когда я позже попытаюсь сравнить pandas_df
против None
, (т. е. когда self.pandas_df
фактически содержит фрейм данных pandas):
if self.pandas_df!=None:
print 'Do stuff'
Я получаю следующий TypeError:
File "C:Anaconda1libsite-packagespandascoreinternals.py", line 885, in eval
% repr(other))
TypeError: Could not compare [None] with block values
1 ответов
использовать is not
:
if self.pandas_df is not None:
print 'Do stuff'
PEP 8 говорит:
сравнения с синглетами, как
None
всегда должно быть сделано сis
илиis not
, Не операторы равенства.
есть объяснение почему.