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

Pandas DataFrame 查看单列info及遍历统计列唯一值、缺失值的方法

单列查看指定列info的Pythonic实现

pandas无单列专用的info快捷调用,可通过原生接口零冗余实现目标效果:

  • 抽取目标列生成独立Series直接调用info()方法,输出的列类型、非空值规模、内存占用信息与全量df.info()中对应列的内容完全一致,例如查看列名为age的列:
    df_train['age'].info()
  • 如需保留DataFrame的展示结构,可用双中括号切片生成单列DataFrame后调用info接口:
    df_train[['age']].info()
全列批量统计唯一值数、缺失值规模的优化方案

你提供的初始代码未填充缺失值的计算逻辑,可根据使用场景选择对应实现:

逐行对齐打印的兼容版本

保留原有排版逻辑,仅补全缺失值计算,即可实现预期输出:

print("Unique Values & Missing Values Count:")
for col in df_train.columns:
    unique_cnt = df_train[col].nunique()
    missing_cnt = df_train[col].isna().sum()
    print(f'{col:<25}: {unique_cnt} unique values.  Missing values: {missing_cnt}')

无循环向量化的最优Pythonic实现

不依赖手写Python层面的for循环,直接调用pandas批量聚合接口一次性计算全列统计值,数据量越大时相比逐列循环的效率优势越明显,扩展性更强:

# 一次性聚合生成全列统计结果
col_stat = pd.DataFrame({
    'dtype': df_train.dtypes,
    'unique_count': df_train.nunique(),
    'missing_count': df_train.isna().sum()
})
# 打印结构化统计结果
print(col_stat)

补充说明:该实现基于pandas底层向量化运算,无Python循环的性能损耗。后续若需新增统计维度(如缺失值占比、唯一值占比、数值列均值等),只需在构造统计结果的字典中新增对应计算列即可,无需调整整体逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 01:15:03