Merge Two Dataframes Based On A Column
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 ? d
Solution 1:
Option 1
Using df.isin
:
In[1362]: df1[df1.name.isin(df2.name)]Out[1362]:
placenameqtyunit0NYTom2101TKRon315
Option 2
Performing an inner-join with df.merge
:
In [1365]: df1.merge(df2.name.to_frame())
Out[1365]:
place name qty unit
0 NY Tom 2101 TK Ron 315
Option 3
Using df.eq
:
In [1374]: df1[df1.name.eq(df2.name)]
Out[1374]:
place name qty unit
0 NY Tom 2101 TK Ron 315
Solution 2:
You want something called an inner join.
df1.merge(df2,on = 'name')
place_x name qty unit place_y price
NY Tom 210 PH 7
TK Ron 315 TK 5
The _x
and _y
happens when you have a column in both data frames being merged.
Post a Comment for "Merge Two Dataframes Based On A Column"