I have two datafames: df1 = pd.DataFrame({ 'from': [0, 2, 8, 26, 35, 46], 'to': [2, 8, 26, 35, 46, 48], 'int': [2, 6, 18, 9, 11, 2]}) df2 = pd.DataFrame({ 'from': [0, 2, 8, 17, 34], 'to': [2, 8, 17, 34, 49], 'int': [2, 6, 9, 17, 15]}) I want to create a new dataframe that looks like this: df = pd.DataFrame({ 'from': [0, 2, 8, 17, 26, 34, 35, 46, 48], 'to': [2, 8, 17, 26, 34, 35, 46, 48, 49], 'int': [2, 6, 9, 9, 8, 1, 11, 2, 1]}) I have tried standard merging scripts but have not been able to split the rows containing higher 'from' and 'to' numbers in either df1 or df2 into smaller ones. How can I merge my dataframes over multiple columns and split rows? Continue reading...