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

如何用Pandas高效检查DataFrame指定值并生成行级布尔列表

Pandas高效实现你的两个需求

嘿,作为Pandas新手,你的这两个需求完全可以用Pandas的内置矢量化方法高效解决,不用写繁琐的循环,咱们一步步来拆解:

1. 生成检查'B.Tech'的布尔DataFrame

直接用相等比较运算符就能快速生成每个位置是否等于'B.Tech'的布尔DataFrame,这是Pandas原生的高效操作,比手动遍历快得多:

# 生成布尔DataFrame,每个元素为True表示该位置值是'B.Tech'
bool_df = df == 'B.Tech'
print(bool_df)

运行后会得到如下结果:

Name  Branch  Score  Result
0  False    True  False   False
1  False   False  False   False
2  False   False  False   False
3  False    True  False   False
4  False   False   True   False

2. 基于前4列生成每行的布尔判断列表

利用Pandas的any()方法,指定按行(axis=1)判断——只要该行前4列有至少一个True就返回True,最后转成列表即可:

# 取前4列,按行判断是否存在至少一个True,再转换为列表
result_list = bool_df.iloc[:, :4].any(axis=1).tolist()
print(result_list)

运行结果正好是你期望的:

[True, False, False, False, True]

额外简洁写法

如果不想单独生成中间的布尔DataFrame,也可以把两步合并成一行代码,效率完全一样:

result_list = (df.iloc[:, :4] == 'B.Tech').any(axis=1).tolist()

直接对前4列做相等比较,再按行判断,代码更紧凑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:07:40