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

如何使用Pandas统计各州各子群体男女人数及实现方法

你当前的代码只把gender和party作为分组键,所以统计的是全量数据下各政党、性别的总人数。要实现按州拆分统计,只需要把state也加入分组维度即可:

方案1:长表格式输出(每行对应一个州+政党+性别的统计结果)

import pandas as pd
df = pd.read_csv("legislators-current.csv")
# 调整groupby的分组顺序,先按州分组,再按政党、性别分组
grouped = df[['state', 'party', 'gender']].groupby(['state', 'party', 'gender'])
# 统计数量并重命名列更直观
count_result = grouped.size().reset_index(name='人数')
print(count_result)

输出会是类似如下的结构:

state       party gender  人数
0    WK    Democrat      F  16
1    WK    Democrat      M  16
2    WK  Republican      F  32
3    WK  Republican      M  32
...

方案2:宽表格式输出(每行对应一个州,不同政党性别作为列展示)

如果想要更直观的单州一行的展示效果,可以用透视表实现:

import pandas as pd
df = pd.read_csv("legislators-current.csv")
pivot_result = pd.pivot_table(
    df,
    index='state',
    columns=['party', 'gender'],
    values='gender',
    aggfunc='count',
    fill_value=0 # 不存在的组合默认填0
)
print(pivot_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:03