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

如何使用Python Pandas将DataFrame单列拆分为多个01分类列

Pandas DataFrame 字母列转独热编码实现方法

这里直接提供两种可行实现,覆盖你是否提前拆分列的两种场景:

  • 方案1:直接基于原始列实现(无需提前拆分,更简洁)
    直接用pandas内置的str.get_dummies方法,指定分隔符即可一步生成结果:

    import pandas as pd
    
    # 示例原始数据构造,你可以替换成自己的df
    df = pd.DataFrame({
        "Letters": ["A; B", "B; C", "A; C", "A; B; C", "B"]
    })
    
    # 核心转换代码,sep按你的分隔符设置为; 加空格
    result = df["Letters"].str.get_dummies(sep="; ").reindex(columns=["A", "B", "C"], fill_value=0)
    

    如果需要保留原始的Letters列,额外加一行拼接即可:

    result = pd.concat([df, result], axis=1)
    
  • 方案2:已完成拆分后的映射实现
    如果你已经通过str.split完成了列拆分,拿到了多列拆分结果,可以用以下代码完成映射:

    # 你已经完成的拆分步骤示例
    split_df = df["Letters"].str.split("; ", expand=True)
    
    # 后续映射核心代码
    result = pd.get_dummies(split_df.stack()).groupby(level=0).sum().reindex(columns=["A", "B", "C"], fill_value=0)
    

补充说明

如果你需要保留所有出现过的字母作为结果列,不需要限定仅输出A/B/C,删掉代码里的reindex(columns=["A", "B", "C"], fill_value=0)部分即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:51:04