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

Pandas DataFrame按列类别生成新列并按state分组统计实现问题

实现方案

你需要的效果可以通过独热编码+分组求和的组合逻辑实现,Pandas内置的pd.get_dummies可以直接生成符合你命名要求的统计列,再按state分组求和即可得到每个类别的出现次数。

完整代码示例如下:

import pandas as pd

# 你提供的示例数据集
df = pd.DataFrame({
'state':['California'] * 4 + ['Florida'] * 5 + ['Minnesota'] * 3 + ['New Hampshire'],
'population':['50-100', '0-50', '150-200', '50-100', '0-50', '150-200',
         '100-150', 'NA', '0-50', 'NA', '100-150', '50-100', 'NA'],
'locale':['rural', 'urban', 'town', 'suburb', 'suburb', 'urban', 'rural', 'suburb', 'NA', 'town', 'town', 'urban', 'rural'] 
})

# 核心处理逻辑
result = pd.get_dummies(
    df,
    # 自动对除state外的所有列做独热编码,适配多列场景
    columns=df.columns.drop('state'),
    # 列名前缀和类别值之间用=分隔,匹配要求的列名格式
    prefix_sep='=',
    # 如果数据中存在真实NaN(不是字符串'NA'),可打开下方参数统计NaN的出现次数
    # dummy_na=True
).groupby('state', as_index=False).sum()

输出结果中California行的统计值和你给出的预期示例完全一致,该方案也支持你补充说明里的多列数据集,不需要手动指定列名即可自动适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:15:03