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

筛选DataFrame B中Client不在G内的行时遇报错,求解决方法

解决Pandas筛选Client不在另一个DataFrame中的问题

错误原因

你直接用B['Client'] != G['Client']报错,是因为Pandas会尝试按索引对齐逐元素比较两个Series,只有当两个Series长度一致、索引完全匹配时才能这么操作。但你的需求是判断B的Client是否属于G的Client集合,不是逐位置对比,所以这种写法不适用。

正确写法

用isin()方法结合取反操作,就能高效筛选出B中Client不在G里的行:

x = B[~B['Client'].isin(G['Client'])]

代码解释

  • G['Client']:提取G中所有Client的列数据
  • B['Client'].isin(G['Client']):生成一个布尔Series,标记B中每个Client是否存在于G的Client列中
  • ~:对布尔Series取反,把“存在于G”的行排除,留下“不存在于G”的行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:55:17