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

如何用Pandas检测DataFrame同一行多列同时为True的情况

问题描述

我有如下结构的DataFrame:

Column AColumn BColumn CColumn D
1TrueFalseFalse
2FalseTrueFalse
3FalseFalseTrue
4TrueFalseTrue
5FalseTrueTrue
6FalseFalseFalse
7FalseTrueFalse

需要检查是否存在同一行包含两个及以上True值的情况:预期每行最多一个True,全False或单个True均符合要求,同一行有两个及以上True则属于异常。由于后续要统计True的数量,多True会导致同一事件被重复计数,因此需要筛选出这些异常行,期望输出结果如下:

Column AColumn BColumn CColumn D
4TrueFalseTrue
5FalseTrueTrue

解决方案

通过计算每行中True的数量,筛选出数量≥2的行即可:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'Column A': [1, 2, 3, 4, 5, 6, 7],
    'Column B': [True, False, False, True, False, False, False],
    'Column C': [False, True, False, False, True, False, True],
    'Column D': [False, False, True, True, True, False, False]
})

# 统计每行B、C、D列的True数量,筛选出数量≥2的行
anomalous_rows = df[df[['Column B', 'Column C', 'Column D']].sum(axis=1) >= 2]

print(anomalous_rows)

运行代码后得到的输出即为目标异常行:

Column AColumn BColumn CColumn D
4TrueFalseTrue
5FalseTrueTrue

内容的提问来源于stack exchange,提问作者U.K.Owen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:22:23