在熊猫中从dataframe1到dataframe2搜索值

时间:2019-07-03 00:21:54

标签: python pandas

假设我有一个源数据框:

A B C
a 1 string1
b 1 string1
b 4 string2
c 2 string4
d 2 string2

我有输入数据框

A B C
a null string1
b null string2

如何将输入数据框中的值交叉检查到源中,我想在源数据框中找到哪些行具有输入数据框中的值。我尝试过isin,但它返回的数据框充满了 nan

结果将为df:

A B C
a 1 string1 #Ref to a null string1
b 1 string1 #Ref to b null string2
b 4 string2 #Ref to b null string2
d 2 string2 #Ref to b null string2

1 个答案:

答案 0 :(得分:0)

似乎您正在过滤源df,仅保留输入df列C中具有C列中值的行。如果是这种情况,则可以使用input_df['C'].unique()给您一个数组输入df中C列中的唯一值,您可以使用isin来过滤源df:

source_df[source_df['C'].isin(input_df['C'].unique())]

其输出为:

    A   B   C
0   a   1   string1
1   b   1   string1
2   b   4   string2
4   d   2   string2