python - 将两个 Pandas 列与另一个 DataFrame 进行比较
问题描述
我有一个主数据框df1
,它具有唯一的列组合('a'
和'b'
)
df1:
a b
A 1
B 4
K 5
我想使用这些组合来比较df2
,遍历每一列并返回True
或False
基于组合是否df2
匹配df1
.
df2:
a b c
A 1 TRUE
B 4 TRUE
K 1 FALSE
例如 K, 1 中的第 3 行与(K,5)df2
中的 K 值不匹配。df1
仅供参考,行数会更大df2
非常感谢你的帮助。
解决方案
使用DataFrame.merge
withindicator
参数,然后按both
值比较布尔列:
df3 = df2.merge(df1, on=['a','b'], how='left',indicator='c')
df3['c'] = df3['c'].eq('both')
print (df3)
a b c
0 A 1 True
1 B 4 True
2 K 1 False
推荐阅读
- javascript - “ForEach 不是函数”无法使 console.log 选择过滤器
- r - 运行与被调用不同的函数(map.poly) - R
- machine-learning - 有人可以解释使用 RNN 的回归模型的批量大小和时间步长吗?
- sql-server - 插入堆时的 SQL Server 缓冲区锁存器争用
- python - 类“int”没有定义“__getitem__”,因此不能在其实例上使用“[]”运算符
- javascript - Appscript-等待gsheets完全加载然后复制行和列?
- python - 使用 Selenium web scraper 响应 403 - 如何修复?
- reactjs - React Hooks Form - onSubmit 使用来自 useState 的数据
- python - Python 从日志文件中解析 JSON 对象
- python - 如何在“KeyRelease”函数中通过 lambda 传递变化的值?