[英]Merge Pandas Dataframes based on substring or partial match in another Dataframe
I have two sample data frames:我有两个示例数据框:
df1 = pd.DataFrame({'Model': ['0RW52HC5KDD13R', '0RW52HC5KDD13U','JJS42HC5JSSAYR']})
df2 = pd.DataFrame({'Group_Var': ['0RW52HC5K', '0RW52HC5K','JJS42HC5J']})
Using this will result result in an empty dataframe.使用这将导致一个空的 dataframe。
df3 = df1.merge(df2, left_on='Model', right_on='Group_Var')
How could I go about using a merge to use a substring / partial match from df2['Group_Var']
in df1['Model']
?我怎么能 go 关于使用合并使用df1['Model']
中的df2['Group_Var']
的 substring / 部分匹配? Perhaps using the str.contains()
method as part of the merge?也许使用str.contains()
方法作为合并的一部分?
Just for context my expected output would be something like this:就上下文而言,我预期的 output 将是这样的:
Group_Var Model
0RW52HC5K 0RW52HC5KDD13R
0RW52HC5K 0RW52HC5KDD13U
JJS42HC5J JJS42HC5JSSAYR
Use pd.concat
with axis=1
:使用pd.concat
和axis=1
:
df3 = pd.concat([df1, df2], axis=1)
Output: Output:
>>> df3
Model Group_Var
0 0RW52HC5KDD13R 0RW52HC5K
1 0RW52HC5KDD13U 0RW52HC5K
2 JJS42HC5JSSAYR JJS42HC5J
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.