【问题标题】:pandas dataframe find NaN explicitly [duplicate]熊猫数据框明确找到NaN [重复]
【发布时间】:2021-08-07 03:16:15
【问题描述】:

我有一个可能包含 NaN 值的数据框。如何找到 NaN 并且仅找到 NaN?大多数建议建议使用 df.isnull,但这也返回 None 值。我只关心 NaN。

谢谢

【问题讨论】:

  • 从广义上讲,如果可以(也许是),您可能会发现从数组中删除本机 Python None 会有很大的优势!也许将它们过滤为新的布尔列。

标签: python pandas nan


【解决方案1】:

要查找您可以使用的 NAN 值:

df.isna().sum(axis='index') # or axis = 0
df.isna().sum(axis='columns') # or axis = 1 
df.isna().sum().sum() # to find all nan values in df

NOTEdf.isna() 将返回一个带有布尔值的 df(形状与原始 df 相同)。然后您可以使用上述 3 个函数来评估 nan 值。

TO COUNT ONLY NAN's:

您可以将None 替换为random_str,然后计算NaN 计数。

new_df = df.astype(str).replace('None','Random_str')

【讨论】:

  • So df.isna() "返回一个相同大小的布尔值对象,指示值是否为 NA。NA 值,例如 None 或 numpy.NaN,被映射到 True 值。 其他所有内容都映射到 False 值。”此外,isnull 是“isna 的别名。”,因此这是与 OP 问题中不起作用的相同的解决方案。
猜你喜欢
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 2018-04-21
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 2018-03-26
  • 2021-09-24
相关资源
最近更新 更多