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

如何对布尔形式的表格执行逆透视(Unpivot)操作

转换布尔类型表格为ID-类型映射表的方法

这里有几种实用的方法帮你完成表格转换,根据你常用的工具选就行:

Excel/Google Sheets 解法

如果你用电子表格工具处理数据,一行公式就能搞定:

  1. 在新的Type列第一个单元格(比如D2)输入公式:
=INDEX({"A","B","C"},MATCH(1,A2:C2,0))
  1. 把公式下拉填充到所有行,就能自动匹配每行对应的类型。

转换后的最终表格:

IDType
OneA
TwoC
ThreeB

公式逻辑很直观:

  • MATCH(1,A2:C2,0):在当前行的A-C列里找到值为1的单元格位置
  • INDEX({"A","B","C"}, ...):根据找到的位置,从预设的类型列表里取出对应的名称

Python Pandas 解法

如果需要用代码批量处理这类表格,Pandas是高效的选择:

import pandas as pd

# 构造原始数据
raw_data = {
    'ID': ['One', 'Two', 'Three'],
    'A': [1, 0, 0],
    'B': [0, 0, 1],
    'C': [0, 1, 0]
}
df = pd.DataFrame(raw_data)

# 提取每行值为1的列名作为Type
df['Type'] = df[['A', 'B', 'C']].idxmax(axis=1)

# 筛选出需要的ID和Type列
final_df = df[['ID', 'Type']]

# 输出结果
print(final_df)

运行代码后会得到:

ID Type
0     One    A
1     Two    C
2   Three    B

核心逻辑是idxmax(axis=1)——它会返回每行中数值最大的列名,刚好对应你数据里唯一的1所在的类型列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 16:34:06