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

如何在Pandas中获取布尔类型数据列的.describe()统计结果

解决Pandas中布尔类型列的汇总统计问题

这个问题我之前也踩过坑,确实pandas的describe()默认行为有点反直觉——它默认只统计int、float这类数值型列,指定include=['O']又只针对对象(字符串)列,布尔列就这么被夹在中间漏掉了。给你几个实用的解决方案:

  • 直接指定统计布尔类型
    最简单的方式就是在describe()里明确指定要包含布尔类型:

    df.describe(include=['bool'])
    

    这样会生成所有布尔列的专属统计信息:包括计数(count)、唯一值数量(unique)、出现频率最高的布尔值(top)、对应的出现次数(freq),还有很实用的mean值——这个其实是True值在列中的占比(因为pandas会把True当作1、False当作0来计算均值)。

  • 先筛选布尔列再统计
    如果需要对布尔列做更灵活的处理(比如排除某几列),可以先把数据框里的布尔列单独挑出来,再调用统计:

    # 筛选所有布尔类型列
    bool_columns = df.select_dtypes(include='bool')
    # 生成统计信息
    bool_columns.describe()
    
  • 一次性查看所有类型列的统计
    要是你想同时看到数值型、对象型和布尔型列的统计结果,可以用include='all':

    df.describe(include='all')
    

    不过这种方式会把所有类型的统计混在一起,非对应类型的列会显示NaN,适合需要整体概览数据的时候用。

小提示:如果你的“布尔列”实际是object类型(比如存的是字符串'True'/'False'),记得先转换成真正的布尔类型再用上面的方法,比如:

df['your_column'] = df['your_column'].astype(bool)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:06:10