Python 基于instring值合并两个数据帧

Python 基于instring值合并两个数据帧,python,pandas,merge,Python,Pandas,Merge,我在DF1中的col1中有一个复杂的文本作为值,我希望它与DF2中的clo1和2合并。 我想知道是否有一种将它与python合并的快速方法 import pandas as pd DF1 = pd.DataFrame({'Col1':['AB/B/C','DE/f','G/T/R']}) DF2 = pd.DataFrame({'Col1':['AB','B','C','D'], 'Test2':[1,2,3,4]}) print(DF1) print

我在DF1中的col1中有一个复杂的文本作为值,我希望它与DF2中的clo1和2合并。 我想知道是否有一种将它与python合并的快速方法

import pandas as pd

DF1 = pd.DataFrame({'Col1':['AB/B/C','DE/f','G/T/R']})

DF2 = pd.DataFrame({'Col1':['AB','B','C','D'],
                   'Test2':[1,2,3,4]})

print(DF1)
print(DF2)
输出:


提前谢谢你

这会让你接近你想要的。您可能需要清理一些行以获得最终数据帧

dft = DF1.Col1.str.split('/').explode()
dft = DF1.merge(dft, left_index=True, right_index=True)
dft.merge(DF2, left_on='Col1_y', right_on='Col1', how='left')

   Col1_x Col1_y Col1  Test2
0  AB/B/C     AB   AB    1.0
1  AB/B/C      B    B    2.0
2  AB/B/C      C    C    3.0
3    DE/f     DE  NaN    NaN
4    DE/f      f  NaN    NaN
5   G/T/R      G  NaN    NaN
6   G/T/R      T  NaN    NaN
7   G/T/R      R  NaN    NaN

这回答了你的问题吗?非常感谢。这很有效!!!