Python 如何合并一列中包含多个元素的两个数据帧

Python 如何合并一列中包含多个元素的两个数据帧,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我尝试在由元素组成的数据帧和具有唯一数据帧的其他数据帧的基础上合并一个新的数据帧 dataframe1: col1 0 A1 1 A1,A5 2 A1 3 A2,A9,A3 4 A3 dataframe2: col

我尝试在由元素组成的数据帧和具有唯一数据帧的其他数据帧的基础上合并一个新的数据帧

dataframe1:

        col1                 
0       A1               
1       A1,A5             
2       A1               
3       A2,A9,A3           
4       A3                         
dataframe2:

        column1        column2      
0       A1             DE   
1       A2             DZ    
2       A3             DA  
3       A4             AC     
4       A5             RC       
5       A6             UC     
6       A7             TC       
7       A8             VC 
8       A9             WC
9       A10            XC  
最终数据帧:

        col1         column1        column2       
0       A1           A1             DE    
1       A1,A5        A1             DE
2       A1,A5        A5             RC
2       A1           A1             DE    
3       A2,A9,A3     A2             DZ       
4       A2,A9,A3     A9             WC         
5       A2,A9,A3     A3             DA
6       A3           A3             DA
通过拆分值和左连接使用:

df = (df1.assign(column1 = df1['col1'].str.split(','))
         .explode('column1')
         .merge(df2, on='column1',how='left'))
print (df)
      col1 column1 column2
0        A1      A1      DE
1     A1,A5      A1      DE
2     A1,A5      A5      RC
3        A1      A1      DE
4  A2,A9,A3      A2      DZ
5  A2,A9,A3      A9      WC
6  A2,A9,A3      A3      DA
7        A3      A3      DA
通过拆分值和左连接使用:

df = (df1.assign(column1 = df1['col1'].str.split(','))
         .explode('column1')
         .merge(df2, on='column1',how='left'))
print (df)
      col1 column1 column2
0        A1      A1      DE
1     A1,A5      A1      DE
2     A1,A5      A5      RC
3        A1      A1      DE
4  A2,A9,A3      A2      DZ
5  A2,A9,A3      A9      WC
6  A2,A9,A3      A3      DA
7        A3      A3      DA

谢谢你的回答@jezrael!!我必须使用python 2.7,所以你知道pandas 0.24.2上是否有类似的函数explode吗?@JulieHardy-是否可以在
python 2.7
中升级pandas?我检查了一下,python 2.7的pandas的最后一个版本似乎是0.24.2@jezrael@JulieHardy-尝试检查一些不爆炸的解决方案。谢谢你的帮助,我将尝试其中一种这个方法@jezrael!谢谢你的回答@jezrael!!我必须使用python 2.7,所以你知道pandas 0.24.2上是否有类似的函数explode吗?@JulieHardy-是否可以在
python 2.7
中升级pandas?我检查了一下,python 2.7的pandas的最后一个版本似乎是0.24.2@jezrael@JulieHardy-尝试检查一些不爆炸的解决方案。谢谢你的帮助,我将尝试其中一种这个方法@jezrael!