繁体   English   中英

Pandas:检查一个df中的值是否存在于另一个DF的任何列中

[英]Pandas: Check if value in one df exists in any column of another DF

我有 2 个 DF

DF1 & DF2

我在 DF1 中有一个列,我们称之为 ID。 我想检查此列中的 ID 是否在 DF2 的 2 列中(列名是 ID1 和 ID2)。

我已经尝试过这种方法,但它只返回 nan 和 false 值。

DF2['Do_IDs_Exist']  = DF2[['ID1','ID2']].isin(DF1['ID'])
import pandas as pd

data1 = {"ID": [1, 2, 3]}
data2 = {"ID1": [1, 3, 5], "ID2": [2, 4, 6]}
DF1 = pd.DataFrame(data1)
DF1
    ID
0    1
1    2
2    3

DF2 = pd.DataFrame(data2)
DF2
    ID1 ID2
0     1   2
1     3   4
2     5   6

DF2['Do_IDs_Exist'] = (DF2['ID1'].isin(DF1['ID'])) | (DF2['ID2'].isin(DF1['ID']))
DF2
    ID1 ID2 Do_IDs_Exist
0     1   2         True
1     3   4         True
2     5   6        False

如果 ID 存在于其中一列中,这将返回 True。 替换| 如果 ID 应该存在于两列中,则带有&

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM