web-dev-qa-db-ja.com

Pythonでpandas DataFrameとNoneを比較するには?

pandas DataFrameと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_dfNoneを比較しようとすると(つまり、self.pandas_dfに実際にpandasデータフレーム)が含まれる場合:

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

is notを使用:

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

PEP 8 言います:

Noneのようなシングルトンとの比較は、常にisまたはis notを使用して実行する必要があり、等値演算子は使用しないでください。

ニースもあります 説明 理由。

50
Mike Müller