给定一个包含散布在各处的可能的 NaN 值的 pandas 数据框:
问题:如何确定哪些列包含 NaN 值?具体来说,我可以获取包含 NaN 的列名列表吗?
你可以使用 Pandas 提供的 isna() 或 isnull() 方法结合 any() 方法来轻松识别哪些列包含 NaN(Not a Number)值。以下是如何做到这一点的步骤:
isna()
isnull()
any()
True
False
以下是一个示例,演示如何实现这一点:
import pandas as pd import numpy as np # 示例数据框,包含 NaN 值 data = { 'A': [1, 2, np.nan, 4], 'B': [np.nan, 1, 2, 3], 'C': [1, 2, 3, 4], 'D': [np.nan, np.nan, np.nan, 1], } df = pd.DataFrame(data) # 确定哪些列包含 NaN 值 nan_columns = df.columns[df.isna().any()].tolist() # 打印结果 print("包含 NaN 值的列名:", nan_columns)
df.isna()
df
df.isna().any()
df.columns[...]
tolist()
对于给定的示例,输出将是:
包含 NaN 值的列名: ['A', 'B', 'D']
这种方法高效且适用于识别数据框中包含 NaN 值的列。