Comment comparer un pandas DataFrame avec None
? J'ai un constructeur qui prend l'un des parameter_file
ou un pandas_df
mais jamais les deux.
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
Cependant, lorsque j'essaierai plus tard de comparer le pandas_df
contre None
, (c'est-à-dire lorsque self.pandas_df
contient en fait un pandas dataframe):
if self.pandas_df!=None:
print 'Do stuff'
J'obtiens le TypeError suivant:
File "C:\Anaconda1\lib\site-packages\pandas\core\internals.py", line 885, in eval
% repr(other))
TypeError: Could not compare [None] with block values
Utilisation is not
:
if self.pandas_df is not None:
print 'Do stuff'
PEP 8 dit:
Les comparaisons avec des singletons comme
None
doivent toujours être faites avecis
ouis not
, jamais les opérateurs d'égalité.
Il y a aussi une belle explication pourquoi.