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

无需循环判断pandas Series值是否存在于DataFrame对应列

无循环实现方案

你可以直接用pandas内置的等值比较+按列聚合实现,全程不需要手动写循环:

# 核心代码
result = df0.eq(df1, axis=1).any().to_numpy()

运行后输出结果完全符合要求:

array([ True, False,  True])

原理说明

  • df0.eq(df1, axis=1):利用pandas的自动对齐特性,将Series df1的每个值和df0的同列所有元素做等值比较,返回和df0同维度的布尔DataFrame
  • .any():默认按列聚合布尔值,只要某列存在至少一个匹配项就返回True
  • .to_numpy():将最终的Series结果转为numpy数组,匹配你需要的输出格式

如果更偏好numpy实现,可以用广播机制完成,大数量级下性能更优:

result = (df0.values == df1.values).any(axis=0)

逻辑和pandas版本完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:48:01