通过python(pandas)中另一个数据帧的值过滤数据帧

时间:2021-05-17 07:45:42

标签: python pandas

我有两个数据框:
df1

     ID  COUNT
0   202485  6
1   215893  8
2   181840  8
3   168337  7

和另一个数据框
df2

ID
0   202485
1   215893
2   181840

我想过滤/左加入两个数据框:
想要的结果是

ID  COUNT
0   202485  6
1   215893  8
2   181840  8

我试过 df1.merge(df2, how='inner', on='ID') : 像你试图合并对象和 int64 列的错误

也使用了 isin,但没有用。

list=df1['ID'].drop_duplicates().to_list()
df1[df1['ID'].isin(list)]

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

df1 = pd.DataFrame({'ID':[202485,215893,181840,168337],'COUNT':[6,8,8,7]})
df2 = pd.DataFrame({"ID":[202485,215893,181840]})
out_df = pd.merge(df1,df2)
print(out_df)

这给出了想要的结果

      ID    COUNT
0   202485  6
1   215893  8
2   181840  8