基于列表值列模糊匹配两个数据框

Fuzzy Match two dataframe based on list value column

我有两个数据框,我试图通过匹配合并到一列中的值。匹配的列是Df1中的header1和Df2中的header2(值为list)。我正在寻找一种适应的方法。

Df1:                                          Df2:
|--------------|---------------|              |--------------|------------------------|       
|      id_1    |     header1   |              |      id_2    |    header2             |
|--------------|---------------|              |--------------|------------------------|
|      112     |      item1    |              |      32      |['item1','item2',...]   |
|--------------|---------------|              |--------------|------------------------|
|      56      |      mass     | 
|--------------|---------------|

想要的结果:

Df_merged:                                       
|--------------|---------------|--------------|------------------------|       
|      id_1    |     header1   |      id_2    |    header2             |
|--------------|---------------|--------------|------------------------|
|      112     |      item1    |      32      |['item1','item2',...]   |
|--------------|---------------|--------------|------------------------|

有谁知道如何合并这两个数据框?。我完全不知道如何处理这个。非常感谢。

使用DataFrame.explode with reassign header2 to header1 for avoid lost original column header2 and then use DataFrame.merge:

df = df1.merge(df2.assign(header1 = df2['header2']).explode('header1'), on='header1')