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

Pandas DataFrame每行缺失值统计及字段缺失占比计算咨询

解决Pandas中每行缺失值统计与字段缺失占比计算问题

嘿,我来帮你搞定这两个需求!你提到的df.isnull().sum(axis=1)其实就是统计每行NaN数量的正确方法,可能你需要把它整合到原数据里更直观?另外字段缺失占比的计算也很直接,我给你一步步拆解:

一、统计每行的NaN数量

  • 如果你想把结果直接加到原DataFrame里,方便后续分析,只需要一行代码:
    df['每行缺失值个数'] = df.isnull().sum(axis=1)
    
    这样就会新增一列,清晰显示每一行有多少个缺失值。
  • 要是你只是临时查看结果,不需要修改原数据,直接运行:
    print(df.isnull().sum(axis=1))
    
    它会返回一个Series,索引对应行号,值就是该行的NaN数量。

二、计算各字段的缺失占比

要得到每个字段(比如眼睛信息、身高信息)的缺失百分比,我们需要先统计每列的缺失数,再除以总行数转成百分比:

  • 完整的代码示例,还能生成一个整洁的汇总表:
    import pandas as pd
    
    # 统计每列的缺失值数量
    col_missing_counts = df.isnull().sum()
    # 计算缺失占比(保留两位小数)
    col_missing_ratios = (col_missing_counts / len(df)) * 100
    col_missing_ratios = col_missing_ratios.round(2)
    
    # 合并成汇总DataFrame,方便查看
    missing_summary = pd.DataFrame({
        '缺失值数量': col_missing_counts,
        '缺失占比(%)': col_missing_ratios
    })
    
    # 打印结果,也可以用missing_summary.head()查看前几行
    print(missing_summary)
    
  • 如果你想让结果更直观,比如给百分比加上百分号,可以用这个小技巧:
    missing_summary['缺失占比(%)'] = missing_summary['缺失占比(%)'].apply(lambda x: f"{x}%")
    

小提示

虽然你的数据有数百列,但这些操作都是Pandas的内置优化方法,处理50行的数据集完全没有性能问题,放心用就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:33:40