我尝试根据由元素组成的数据框和具有唯一数据框的其他数据框合并一个新的数据框。
数据框1:
col1
0 A1
1 A1,A5
2 A1
3 A2,A9,A3
4 A3
数据框2:
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
与左DataFrame.explode
联接DataFrame.merge
和左联接一起使用:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句