我目前有两个从我需要加入的 CSV 文件中提取的数据框。问题在于连接列不匹配,而且我必须检查许多文件,因此在 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
从df2['HIF']
中提取模式HIF-\w{4}
,然后您可以在“HIF”上将 df1
和 df2
合并在一起。
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/