Python 基于instring值合并两个数据帧
我在DF1中的col1中有一个复杂的文本作为值,我希望它与DF2中的clo1和2合并。 我想知道是否有一种将它与python合并的快速方法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
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
这回答了你的问题吗?非常感谢。这很有效!!!