。问题在于join列不匹配,并且有许多文件需要处理,所以在excel中手动清理不是可选的。
这就是我的工作。。。
DF1型
ID Title HIF
1 A HIF-1101
2 AB HIF-1102
DF2
HIF Date Type
HIF-1101 CD42 01/12/19 Image
HIF-1102 JH96 01/14/19 Image
我需要消除DF2中额外的字母/数字组合。联接列中的所有行(有几千行)在“HIF-XXXX”中采用相同的数字格式。也许有办法找到“HIF”,然后在右边索引5个字符?
最佳答案
使用str.extract
从HIF-\w{4}
中提取模式,然后可以在“HIF”上将df2['HIF']
和df1
合并在一起。
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
关于python - 在数据框中查找并替换部分字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55345428/