python - 如何在Python中将pandas DataFrame与None进行比较?

Posted

技术标签:

【中文标题】python - 如何在Python中将pandas DataFrame与None进行比较?【英文标题】:How to compare pandas DataFrame against None in Python? 【发布时间】:2016-07-13 02:14:10 【问题描述】:

如何将 pandas DataFrame 与 None 进行比较?我有一个构造函数,它采用 parameter_filepandas_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 实际上包含一个熊猫数据框时):

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

我得到以下类型错误:

  File "C:\Anaconda1\lib\site-packages\pandas\core\internals.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 说:

应始终使用 isis not 与像 None 这样的单例进行比较,而不是相等运算符。

还有一个很好的explanation为什么。

【讨论】:

以上是关于python - 如何在Python中将pandas DataFrame与None进行比较?的主要内容,如果未能解决你的问题,请参考以下文章

如何在从 python 触发的电子邮件中将 pandas 数据框附加为 excel

如何在python中将字符串转换为pandas数据框[重复]

如何在Python Pandas中将MultiIndex Dataframes与权重合并?

如何在 pandas python 中将字符串转换为日期时间格式?

在pandas python中将指数或科学数转换为整数

如何通过在 Python 中将两个列表合并为一个,使用 CSV 模块或 Pandas 写入 csv 或 Excel 文件?