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

如何对Pandas DataFrame单列进行独热编码并添加原列名前缀?

解决方案:用Pandas实现指定列的独热编码

没问题!要实现你想要的效果,用Pandas自带的get_dummies方法就能轻松搞定,它可以精准只对col1列做独热编码,同时保留col2列不变,还能自动生成符合要求的列名。

步骤1:构造原始DataFrame

先把你给出的原始数据转换成Pandas DataFrame:

import pandas as pd

# 构建原始数据
data = {
    'col1': ['A', 'B', 'A', 'B'],
    'col2': ['A', 'A', 'B', 'A']
}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3', 'row4'])

步骤2:执行独热编码

直接使用pd.get_dummies方法,指定目标列和前缀:

# 对col1列做独热编码,设置前缀为col1
encoded_df = pd.get_dummies(df, columns=['col1'], prefix='col1')

运行结果

执行后得到的encoded_df就是你想要的目标DataFrame:

col2  col1_A  col1_B
row1     A       1       0
row2     A       0       1
row3     B       1       0
row4     A       0       1

代码解释

  • columns=['col1']:明确指定只对col1列进行编码,其他列(比如col2)会被直接保留在结果中。
  • prefix='col1':设置编码后新列的前缀,让生成的列名变成col1_A、col1_B,完美匹配你的需求。

如果更倾向于用Scikit-learn的工具,也可以用OneHotEncoder,不过对于这个简单场景,Pandas的get_dummies更简洁直接,不需要额外处理数据对齐的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:48:08