我有两个数据框。 df1
的形式为
deva devb c
1 3 5
和df2
具有以下形式
dev
1
3
现在,我想加入两个数据帧,以便只获得 deva
或 devb
中出现的 中的数字开发
。换句话说,我想过滤掉 df2 中不存在的数字。我尝试了以下方法,但没有成功:
df1 = df2.merge(df1, left_on=["dev", "dev"], right_on=["deva","devb"])
如何使用两个不同列的“OR”连接/合并?
最佳答案
使用DataFrame.where
+ Series.isin
:
df1[['deva','devb']]=df1[['deva','devb']].where(df1[['deva','devb']].isin(df2['dev'].tolist()))
# deva devb c
#0 1 3 5
关于python - 过滤掉 Pandas 数据框中 A 列或 B 列上不存在的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492392/