I have two pandas dataframes df1 and df2 of the form:
df1
start end text source
1 5 abc 1
8 10 def 1
15 20 ghi 1
25 30 xxx 1
42 45 zzz 1
df2
start end text source
1 6 jkl 2
7 9 mno 2
11 13 pqr 2
16 17 stu 2
18 19 vwx 2
32 37 yyy 2
40 47 rrr 2
I want to return the intersections of the two dataframes based on the start and end columns in following format:
out_df
start_1 end_1 start_2 end_2 text_1 text_2
1 5 1 6 abc jkl
8 10 7 9 def mno
15 20 16 17 ghi stu
15 20 18 19 ghi vwx
42 45 40 47 zzz rrr
What is the best method to achieve this?