I have two sample data frames:
JavaScript
x
4
1
df1 = pd.DataFrame({'Model': ['0RW52HC5KDD13R', '0RW52HC5KDD13U','JJS42HC5JSSAYR']})
2
3
df2 = pd.DataFrame({'Group_Var': ['0RW52HC5K', '0RW52HC5K','JJS42HC5J']})
4
Using this will result result in an empty dataframe.
JavaScript
1
2
1
df3 = df1.merge(df2, left_on='Model', right_on='Group_Var')
2
How could I go about using a merge to use a substring / partial match from df2['Group_Var']
in df1['Model']
? Perhaps using the str.contains()
method as part of the merge?
Just for context my expected output would be something like this:
JavaScript
1
5
1
Group_Var Model
2
0RW52HC5K 0RW52HC5KDD13R
3
0RW52HC5K 0RW52HC5KDD13U
4
JJS42HC5J JJS42HC5JSSAYR
5
Advertisement
Answer
Use pd.concat
with axis=1
:
JavaScript
1
2
1
df3 = pd.concat([df1, df2], axis=1)
2
Output:
JavaScript
1
6
1
>>> df3
2
Model Group_Var
3
0 0RW52HC5KDD13R 0RW52HC5K
4
1 0RW52HC5KDD13U 0RW52HC5K
5
2 JJS42HC5JSSAYR JJS42HC5J
6