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

Pandas分组后使用value_counts获取州数据计数时如何仅保留索引与计数值

解决Pandas Groupby后Value_counts结果冗余的问题

嘿,刚接触Pandas的话遇到这种小困惑太正常啦~我来帮你捋清楚怎么搞定这个问题!

首先咱们先搞明白为什么会出现重复的STABBR:你用groupby得到state_groups之后,这个DataFrame的索引就是州缩写(STABBR),而你又对STABBR列执行value_counts()——每个分组里的STABBR值都是完全相同的,所以value_counts()会生成一个多层索引的结果:外层是原groupby的索引(州缩写),内层是STABBR列的唯一值(和外层完全重复),最后才是计数值,这就导致了输出里的冗余内容。

最直接高效的解决方案

其实你要的“每个州的数值数量”,本质就是每个分组的行数,用size()方法一步就能搞定,完全不需要用value_counts():

state_counts = state_groups.size()

执行这段代码后,你会得到一个干净的Series:索引是州缩写,值就是对应的计数值,完美符合你的需求。

如果一定要用Value_counts的处理方式

要是你就是想试试基于value_counts()的解决思路,也可以通过移除内层索引来得到干净的结果:

# 移除多层索引中的内层STABBR,只保留外层索引和计数值
state_counts = state_groups['STABBR'].value_counts().reset_index(level='STABBR', drop=True)

这样处理后,冗余的内层STABBR就被去掉了,剩下的就是你想要的索引+计数值结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:17:41