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

如何将pandas DataFrame指定列转换为元素存在性的0-1矩阵

分隔多值列转0/1标记列实现方案

核心实现(Pandas环境)

Pandas内置的字符串哑变量编码方法支持直接按指定分隔符拆分编码,一行代码即可得到目标结果。

# 导入依赖
import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'animals': [
        'dog;mouse;cat',
        'cat;dog',
        'dog',
        'mouse;cat',
        'dog;cat'
    ]
})

# 核心转换代码,执行后result即为需求要求的0/1标记矩阵
result = df['animals'].str.get_dummies(sep=';')

# 若需要将结果合并回原数据集,可执行拼接
df = pd.concat([df, result], axis=1)

复杂场景适配

如果分隔后的元素前后存在多余空格(比如dog; mouse; cat这类格式),可先对元素做清洗后再编码:

result = df['animals'].str.split(';', expand=True) \
    .stack() \
    .str.strip() \
    .str.get_dummies() \
    .groupby(level=0) \
    .sum()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:45:02