Pandas python - 匹配值

时间:2015-12-09 16:39:28

标签: python pandas dataframe

我目前有两个具有两个匹配列的数据帧。例如:

包含列的数据框1:A,B,C

数据框2,列:A

我想保留第一个数据框中具有A包含值的所有行。例如,如果df2和df1是:

df1

A B C
0 1 3
4 2 5
6 3 1
8 0 0
2 1 1

df2
Α
4
6
1

所以在这种情况下,我想只保留df1的第二行和第三行。 我尝试这样做,但它没有用,因为两个数据帧都很大:

for index, row in df1.iterrows():
    counter = 0
    for index2,row2 in df2.iterrows():
        if row["A"] == row2["A"]:
            counter = counter + 1
    if counter == 0:
        df2.drop(index, inplace=True)

2 个答案:

答案 0 :(得分:6)

使用isin来测试会员资格:

3.0.10

答案 1 :(得分:3)

或者使用合并方法:

presence