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

Python中将含多值的分类列转换为对应统计标识列的实现方法

多值分类列自动生成哑变量的Pandas实现

你可以直接使用pandas字符串方法自带的str.get_dummies()实现需求,支持指定分隔符处理多值列,无需手动硬编码枚举所有取值:

import pandas as pd

# 示例数据构建
data = {'ID':['A','B','C','D','E','F'],
'Gender':['Man', 'Woman', 'Transgender', 'Non-binary,Transgender', 'Woman,Non-binary',
'Man,Non-binary,Transgender']}
df = pd.DataFrame(data)

# 核心处理逻辑
# 按逗号拆分生成哑变量,将0替换为空字符串
gender_dummies = df['Gender'].str.get_dummies(sep=',').replace(0, '')
# 拼接原数据与哑变量列
df_result = pd.concat([df, gender_dummies], axis=1)

print(df_result)

代码说明

  • 你之前尝试的pd.get_dummies()是处理单列单值的场景,而Series.str.get_dummies(sep=',')专门适配多值分隔的字符串列,会自动识别所有独立取值生成对应哑变量列,对应行包含该取值则值为1,否则为0
  • replace(0, ''):将默认生成的0替换为空字符串,匹配你要求的「无对应取值则为空」的格式
  • pd.concat:将原表的ID、Gender列和新生成的哑变量列拼接,得到的结果和你提供的最终效果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:48:00