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

如何在Pandas中提取每行值为1的列名生成分类列

解决方案

假设使用Python的Pandas库处理该表格数据,具体步骤如下:

1. 构建示例数据集

import pandas as pd

data = {
    'A': ['foo', 'bar', 'baz'],
    'B': [0, 0, 1],
    'C': [1, 0, 1],
    'D': [1, 1, 0]
}
df = pd.DataFrame(data)

2. 生成新列E

通过apply遍历每行,筛选出值为1的列名并拼接成字符串:

df['E'] = df.apply(lambda row: ', '.join(row[row == 1].index), axis=1)

3. 查看结果

运行上述代码后,df的内容即为目标表格:

ABCDE
foo011C, D
bar001D
baz110B, C

说明

  • axis=1表示按行处理数据
  • row[row == 1].index会筛选出当前行中值为1的所有列名
  • ', '.join()将列名列表拼接为逗号分隔的字符串,适配多个值为1的列的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:01:44