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

如何检查DataFrame某列行值是否存在于另一列的任意行中?

问题:判断DataFrame中A列值是否存在于B列并添加Bool列

原始数据与预期输出

原始Excel表格内容:

A B
1A 100 
2A  1A 
3A  101
5A  1A  

预期输出:

A B   Bool
1A 100  False
2A  1A  True
3A  101 False
5A  1A  True

需求是判断df['A']中的值是否存在于df['B']中,为符合条件的行标记True,不符合的标记False(注:原始预期输出中未标记的行实际应为False)。

用户错误代码及修正

用户尝试的代码存在两处问题:

import pandas as pd
df = pdf.read_excel('test.xlsx')  # 别名拼写错误:pd写成了pdf
df['A'].isin(df['B'])  # 未将结果赋值给DataFrame的新列

正确代码

import pandas as pd
# 读取Excel文件
df = pd.read_excel('test.xlsx')
# 添加Bool列,判断A列值是否在B列中
df['Bool'] = df['A'].isin(df['B'])
# 打印结果
print(df)

说明

  1. 修正拼写错误:将pdf.read_excel改为pd.read_excel,与导入时的别名pd保持一致。
  2. 将isin()方法的返回结果赋值给新列df['Bool'],这样才能在DataFrame中保留判断结果,得到预期的输出结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:10:27