为什么会出现以下2’;如果';Python上的结构不同?

为什么会出现以下2’;如果';Python上的结构不同?,python,if-statement,Python,If Statement,我想查看Python上的数据框架,并替换特定列中的NaN值。我想了解这两个之间的区别是什么 如果pd.isnull(coly): 如果coly==np.NaN: 第一条语句有效,第二条语句甚至不生成错误 coly==np.NaN始终为false。南永远不等于它自己 有许多不同的nan值(例如,-numpy.nan) 要检测nan,必须使用numpy.isnan或其他特殊的nan检测函数(查看值的二进制结构) =对nan不起作用。如果不创建循环,则需要使用pd.isna。。这和pd.isnull

我想查看Python上的数据框架,并替换特定列中的
NaN
值。我想了解这两个之间的区别是什么

如果pd.isnull(coly):
如果coly==np.NaN:
第一条语句有效,第二条语句甚至不生成错误

  • coly==np.NaN始终为false。南永远不等于它自己
  • 有许多不同的nan值(例如,-numpy.nan)
    要检测nan,必须使用
    numpy.isnan
    或其他特殊的nan检测函数(查看值的二进制结构)

    =
    对nan不起作用。
    如果
    不创建循环,则需要使用pd.isna。。这和pd.isnull的区别在于,对于None,pd.isnull返回true