【发布时间】:2020-05-11 07:53:51
【问题描述】:
我开始使用 pandas,但遇到了一个我不知道如何解决的问题。
我有两个数据框。
第一个包含汽车信息,包括汽车型号(DESCR_MARCA_VEICULO 列)
df1
col1 col2 DESCR_MARCA_VEICULO
.... .... 'GM/CELTA 5 PORTAS SUPER'
.... .... 'VW/VOYAGE LS'
.... .... 'VW/GOL LS'
.... .... 'I/AUDI A4 2.0T FSI'
.... .... 'FIAT/UNO CS IE'
第二个包含一个包含汽车模型和与该模型关联的唯一 ID 的两列 de-para,如下所示:
df2
ID DESCR_MARCA_VEICULO
1 'GM - CELTA 5'
2 'VW - VOYAGE LS'
3 'VW - GOL LS'
4 'ACURA - INTEGRA GS 1.8'
5 'AUDI - 80 S2 AVANT'
而且它不一定遵循将“/”替换为“-”之类的模式。
但是,我在 DF1 中有超过 5000 种不同的汽车型号(这让我无法逐个查看),我需要将 DF1 和 DF2 结合起来,将 ID 列带到 DF1(这将是一个合并)。但是,当我合并 dfs 时,由于字符串的这些差异,没有匹配项。
有什么方法可以通过DESCR_MARCA_VEICULO 列中的字符串之间的相似性来合并这些dfs?
谢谢你:)
【问题讨论】:
-
只是猜测,但第二列只有品牌名称和型号(GM - CELTA)。您可以使用 str.split 在多个拆分中提取它,并为模式使用正则表达式。如果您可以提供一个混合了不同分隔符的示例,我相信这里的人们可以解决问题。
-
我在示例中添加了几行。但是,它不一定遵循逻辑。因为这两个柱子都有品牌和纯模型,如 VW GOL 或 AUDI A3,但有时它们会放置尽可能多的阀门或气缸
标签: python pandas dataframe merge similarity