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

Python:如何快速检查变量是否存在于DataFrame列表的任意位置

解决方案

直接用any()结合生成器表达式就能实现单行检查,完美嵌入elif语句,而且因为any()的短路特性,找到匹配后会立刻停止遍历,不用检查所有DataFrame:

方式一:直观简洁版

适合确定DataFrame里都是字符串类型的场景:

elif any(var in df.values for df in dfList):
    # 这里写你要执行的一系列函数

方式二:Pandas原生严谨版

如果DataFrame里有混合数据类型,用这种方式更稳妥,通过Pandas的逐元素比较来判断:

elif any((df == var).any().any() for df in dfList):
    # 这里写你要执行的一系列函数

完整示例

import pandas as pd

var = 'myString'
df1 = pd.DataFrame({'col1': ['x','y','z'], 'col2': ['a','myString','b']})
df2 = pd.DataFrame({'col1': ['p','q','r'], 'col2': ['c','d','e']})
dfList = [df1, df2]

# 实际使用示例
if False:  # 替换成你的其他判断条件
    pass
elif any((df == var).any().any() for df in dfList):
    print("检测到目标值,执行函数")
    # func1()
    # func2()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:30:55