web-dev-qa-db-fra.com

Comment comparer pandas DataFrame avec None en Python?

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
26
CiaranWelsh

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 avec is ou is not, jamais les opérateurs d'égalité.

Il y a aussi une belle explication pourquoi.

50
Mike Müller