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

如何获取pandas DataFrame执行value_counts()后返回的每个独立统计值

解决方案

你可以直接遍历value_counts()返回的多级索引Series对象,直接获取每一组的取值和对应统计量,不需要嵌套循环遍历唯一值,实现方式更简洁效率也更高。

批量统计所有列的实现代码

for col in edu_data[class_haric].columns:
    # 直接对当前列+Class列做值计数
    count_res = edu_data[[col, "Class"]].value_counts()
    # 遍历每条结果输出
    for (col_val, class_val), count_num in count_res.items():
        print(f"{col_val} -> {count_num}")
    # 不同列的输出之间加空行分隔
    print()

单个列统计的实现代码(以gender列筛选男性为例)

count_res = edu_data.loc[edu_data.gender == 'M', ["gender", "Class"]].value_counts()
for (gender_val, class_val), count_num in count_res.items():
    print(f"{gender_val} -> {count_num}")

原理说明

pandas.DataFrame.value_counts()返回的结果本质是一个Series对象,它的索引是由你传入的统计列的取值组合成的元组,值就是对应组合的出现次数,直接遍历这个Series的键值对就能拿到所有你需要的统计结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:39:02