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

为何pd.get_dummies()处理后丢失Title列?如何保留该列生成哑变量

保留Title列的标签哑变量生成方案

你的问题出在第一步处理时只提取了Tags列,导致Title丢失。下面提供两种可行解决方案:

方案一:修改原有代码逻辑,保留Title列

调整代码,在拆分标签的同时保留Title和原索引,确保分组时能关联回对应标题:

# 拆分标签并展开,同时保留原数据的Title列
data_exploded = data1.assign(Tags=data1.Tags.str.split(',')).explode('Tags').reset_index()
# 生成哑变量后,按原索引和Title分组求和(同一索引对应唯一Title)
result = pd.get_dummies(data_exploded, columns=['Tags'], prefix='', prefix_sep='') \
           .groupby(['index', 'Title'], as_index=False).sum() \
           .drop('index', axis=1)

方案二:使用更简洁的str.get_dummies方法

Pandas的str.get_dummies可以直接对逗号分隔的标签生成哑变量,无需拆分展开,一步到位保留Title:

# 拼接Title列和标签哑变量列
result = pd.concat([data1['Title'], data1['Tags'].str.get_dummies(sep=',')], axis=1)

示例验证

输入示例数据集:

TitleTags
AJava, C++
BC++, Html
CJava, Python, Html
DPython, C++, Html

执行上述任意方案后,均可得到预期结果:

TitleJavaC++HtmlPython
A1100
B0110
C1011
D0111

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:20:30