我有一个熊猫数据框(df),我想做类似的事情:
newdf = df[(df.var1 == 'a') & (df.var2 == NaN)]
我尝试将 NaN 替换为 np.NaN
或 'NaN'
或 'nan'
等,但没有评估为 True没有 pd.NaN
。
在评估上述表达式之前,我可以使用 df.fillna(np.nan)
但这感觉很老套,我想知道它是否会干扰其他依赖于稍后能够识别 pandas 格式 NaN 的 pandas 操作。
我觉得这个问题应该有一个简单的答案,但不知何故,我没有想到。任何建议表示赞赏。谢谢你。
原文由 Gerhard 发布,翻译遵循 CC BY-SA 4.0 许可协议
这不起作用,因为
NaN
不等于任何东西,包括NaN
。使用pd.isnull(df.var2)
代替。