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

如何修改pandas代码仅输出含缺失值的列及其缺失占比

pandas缺失率查询(过滤无缺失列)实现方案

原代码最简修改方案

在原有代码基础上新增过滤逻辑即可,仅保留缺失率大于0的列结果:

df.isnull().mean().round(4).mul(100).sort_values(ascending=False).loc[lambda x: x > 0]

其他可选实现方案

  • 先筛选存在缺失的列再计算,适合列数极多的场景,减少后续计算量:
# 先提取存在缺失值的列名
has_na_cols = df.columns[df.isnull().any()]
# 仅针对目标列计算缺失率
df[has_na_cols].isnull().mean().round(4).mul(100).sort_values(ascending=False)
  • 分步骤计算+过滤,可读性更高:
# 先计算所有列的缺失率
all_na_ratio = df.isnull().mean().round(4).mul(100)
# 过滤后降序输出
all_na_ratio[all_na_ratio > 0].sort_values(ascending=False)
  • 扩展方案:同时输出缺失值数量和缺失率,统计信息更直观:
import pandas as pd
na_info = pd.DataFrame({
    '缺失值个数': df.isnull().sum(),
    '缺失率(%)': df.isnull().mean().round(4).mul(100)
})
# 过滤无缺失列后按缺失率降序排列
na_info[na_info['缺失值个数'] > 0].sort_values(by='缺失率(%)', ascending=False)

内容的提问来源于stack exchange,提问作者Ngoc ng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:48:01