基于列合并两个数据框 [英] Merge two dataframes based on a column
本文介绍了基于列合并两个数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想比较两个数据帧 df1 和 df2 中的名称列,从数据帧 df1 输出匹配的行并将结果存储在新的数据帧 df3 中.我如何在 Pandas 中做到这一点?
I want to compare name column in two dataframes df1 and df2 , output the matching rows from dataframe df1 and store the result in new dataframe df3. How do i do this in Pandas ?
df1
place name qty unit
NY Tom 2 10
TK Ron 3 15
Lon Don 5 90
Hk Sam 4 49
df2
place name price
PH Tom 7
TK Ron 5
结果:
df3
place name qty unit
NY Tom 2 10
TK Ron 3 15
推荐答案
选项 1
使用df.isin
:
In [1362]: df1[df1.name.isin(df2.name)]
Out[1362]:
place name qty unit
0 NY Tom 2 10
1 TK Ron 3 15
<小时>
选项 2
使用 df.merge
执行内连接:
In [1365]: df1.merge(df2.name.to_frame())
Out[1365]:
place name qty unit
0 NY Tom 2 10
1 TK Ron 3 15
<小时>
选项 3
使用df.eq
:
In [1374]: df1[df1.name.eq(df2.name)]
Out[1374]:
place name qty unit
0 NY Tom 2 10
1 TK Ron 3 15
这篇关于基于列合并两个数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文