3 回答
TA贡献1856条经验 获得超5个赞
使用str.extract提取模式HIF-\w{4}从df2['HIF'],那么你可以合并df1,并df2在“HIF”在一起。
df1.merge(df2.assign(HIF=df2['HIF'].str.extract(r'(HIF-\w{4})')), on='HIF')
ID Title HIF Date Type
0 1 A HIF-1101 01/12/19 Image
1 2 AB HIF-1102 01/14/19 Image
TA贡献1812条经验 获得超5个赞
您可以使用 pandas.Series.str.slice
df2['HIF'] = df2['HIF'].str.slice(stop=-5)
print(df2)
HIF Date Type
0 HIF-1101 01/12/19 Image
1 HIF-1102 01/14/19 Image
然后合并
df_merge = pd.merge(df1, df2, on='HIF')
print(df_merge)
ID Title HIF Date Type
0 1 A HIF-1101 01/12/19 Image
1 2 AB HIF-1102 01/14/19 Image
TA贡献1831条经验 获得超4个赞
我在用 str.find
df2.HIF=df2.HIF.str.findall('|'.join(df1.HIF.tolist())).str[0]
df1.merge(df2,on='HIF')
Out[73]:
ID Title HIF Date Type
0 1 A HIF-1101 01/12/19 Image
1 2 AB HIF-1102 01/14/19 Image
添加回答
举报
