python - 在数据框中查找并替换部分字符串?

标签 python python-3.x pandas

我目前有两个从我需要加入的 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.extractdf2['HIF'] 中提取模式HIF-\w{4},然后您可以在“HIF”上将 df1df2 合并在一起。

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/

相关文章:

python - mod_python django 日志记录问题

python - 将 JSON 页面列表转换为一个对象

Python:抓取整个字符串作为一个元素

python - 将字典键替换为列表中的值

python - 在 python 3.5 中扩展 logging.Logger 模块

python - 在数据帧上使用 python 进行快速文本处理

python - 聚合 Pandas 数据框

python - Tkinter ttk.treeview iid 会溢出吗?

Python 3 int 除法运算符返回一个 float ?

python - 值错误: expected a dict or pandas.数据帧