2016-03-25 4 views
13

パンダのDataFrameとNoneを比較するにはどうすればよいですか?私はparameter_fileまたはpandas_dfのいずれかをとるコンストラクタを持っていますが、どちらも使用できません。Pythonでpandas DataFrameとNoneを比較するにはどうすればいいですか?

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_dfNoneと比較しようとすると、(すなわちself.pandas_dfは、実際にパンダのデータフレーム含まれている場合):

if self.pandas_df!=None: 
     print 'Do stuff' 

私は次のようTypeError例外を取得:

File "C:\Anaconda1\lib\site-packages\pandas\core\internals.py", line 885, in eval 
    % repr(other)) 

TypeError: Could not compare [None] with block values 

答えて

21

使用is not

if self.pandas_df is not None: 
    print 'Do stuff' 

PEP 8は言う:

Comparisons to singletons like None should always be done with is or is not , never the equality operators.

は素敵なexplanation理由もあります。

関連する問題