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

如何拆分DataFrame字符串列并按取值生成对应0/1新列

实现方案

方案1(推荐,代码最简洁)

直接使用pandas内置的字符串独热编码方法,一步生成0/1矩阵:

# 按分隔符`, `对symptoms列做独热编码,自动生成对应症状列
symptom_onehot = df['symptoms'].str.get_dummies(sep=', ')
# 把编码结果和原DataFrame按行拼接
df2 = pd.concat([df, symptom_onehot], axis=1)

输出结果完全匹配你需要的格式,症状列存在对应值为1,不存在为0。

方案2(基于你已写的split代码的后续处理)

如果你已经做了拆分操作,可以按以下步骤继续处理:

# 你已有的拆分代码,注意要指定分隔符为`, `
split_ = df["symptoms"].str.split(', ', expand=True)
# 拆分结果转长格式后做独热编码,再按原行索引聚合得到每行的症状标识
symptom_onehot = pd.get_dummies(split_.stack()).sum(level=0)
# 拼接回原表
df2 = pd.concat([df, symptom_onehot], axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:15:00