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

如何使用Python DataFrame将逗号分隔值转为多列二进制值

Python DataFrame实现逗号分隔值转二进制多列

直接用Pandas内置的str.get_dummies()方法就能快速实现需求,步骤如下:

1. 构造示例数据

先模拟符合需求的原始DataFrame:

import pandas as pd

df = pd.DataFrame({
    'ID': [1, 2, 3],
    'Categories': ['A,B', 'B,C', 'A,C']
})

2. 生成二进制列

调用str.get_dummies()拆分逗号分隔的内容,并自动生成对应唯一值的0/1列:

# 拆分逗号分隔值,生成二进制标识列
category_dummies = df['Categories'].str.get_dummies(sep=',')

# 将生成的列与原DataFrame合并
final_df = pd.concat([df, category_dummies], axis=1)

3. 查看结果

运行后得到的final_df就是目标格式:

ID Categories  A  B  C
0   1        A,B  1  1  0
1   2        B,C  0  1  1
2   3        A,C  1  0  1

处理带空格的情况

如果原始数据中逗号后带有空格(比如'A, B'),先清理格式再生成二进制列:

# 清理逗号后的空格
df['Categories'] = df['Categories'].str.replace(', ', ',')
# 再生成二进制列
category_dummies = df['Categories'].str.get_dummies(sep=',')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:15:44