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

如何实现仅当两列中某一列单独为True时生成对应标记列?

解决方案

你需要的是针对特定列组合的精确布尔判断,直接用逻辑与+取反就能实现,而XOR因为是两值不同时为真,无法区分具体是哪一列满足条件,所以不适用。

核心逻辑

  • Column C:仅当 Column A = True 且 Column B = False 时为True → Column A AND (NOT Column B)
  • Column D:仅当 Column B = True 且 Column A = False 时为True → Column B AND (NOT Column A)

不同工具的实现方式

Excel/Google Sheets

在对应单元格输入公式后下拉填充:

  • Column C 公式:=AND(A2, NOT(B2))
  • Column D 公式:=AND(B2, NOT(A2))

Python Pandas

import pandas as pd

# 构建示例数据
df = pd.DataFrame({
    'Column A': [True, True, False, False],
    'Column B': [False, True, True, False]
})

# 生成目标列
df['Column C'] = df['Column A'] & ~df['Column B']
df['Column D'] = df['Column B'] & ~df['Column A']

# 输出结果
print(df)

执行后将得到你期望的结果集。

SQL

假设数据存储在表boolean_data中,使用CASE语句生成目标列:

SELECT
    "Column A",
    "Column B",
    CASE WHEN "Column A" = TRUE AND "Column B" = FALSE THEN TRUE ELSE FALSE END AS "Column C",
    CASE WHEN "Column B" = TRUE AND "Column A" = FALSE THEN TRUE ELSE FALSE END AS "Column D"
FROM boolean_data;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:30:51