You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Pandas生成含无NaN/全NaN列的指定字典?

实现方案

直接用Pandas的缺失值检测方法就能搞定,核心逻辑是通过判断每列的NaN分布情况来筛选列名:

import pandas as pd

def get_nan_column_info(df):
    # 筛选无NaN的列:该列NaN数量为0
    no_nan_cols = df.columns[df.isna().sum() == 0].tolist()
    # 筛选全为NaN的列:该列所有值都是NaN
    all_nan_cols = df.columns[df.isna().all()].tolist()
    return {
        "Columns without nans": no_nan_cols,
        "Columns with all nans": all_nan_cols
    }

代码说明

  • df.isna():生成和原DataFrame形状一致的布尔矩阵,NaN位置为True,其余为False
  • df.isna().sum():按列统计NaN的数量,无NaN的列求和结果为0
  • df.isna().all():按列判断是否所有值都是NaN,返回布尔Series
  • .tolist():把筛选后的列名转为列表,没有符合条件的列时会自动返回空列表

示例用法

假设你有这样的数据集:

data = {
    "A": [1, 2, 3],
    "B": [None, None, None],
    "C": [4, None, 6]
}
df = pd.DataFrame(data)
result = get_nan_column_info(df)
print(result)

输出结果:

{
    "Columns without nans": ["A"],
    "Columns with all nans": ["B"]
}

内容的提问来源于stack exchange,提问作者Mike Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:15:58