Python Pandas匹配具有重叠坐标的行

我是python新手,试图使用熊猫找出问题。

我有两个作为熊猫数据帧导入的.csv文件。

这些文件之一是具有ID号,开始和结束坐标的行的文件:

ID  Start  End
1   45     99
3   27     29
6   13     23
19  11     44

我的第二个文件有一列代码,以及开始和结束坐标:

Code  Start  End
ss13d  67    100
dfv45  55    100
aal33  101   222
mm0ww  24    28

我想查找在这两个文件之间没有特定顺序重叠的开始和结束坐标,以便结果看起来像这样:

ID  Start  End  Code  Start  End
1   45     99   ss13d 67     100
1   45     99   dfv45 55     100
3   27     29   mm0ww 24     28

我尝试使用pandas.merge(),但是据我了解,列表需要具有共同的列。在这种情况下,这是我的开始列,但由于它们是比较列,因此我无法合并这些列。

现在,我终于弄清楚了如何定位重叠的逻辑:

df = pd.read_csv (r'file1.csv')   
df2 = pd.read_csv ('file2.csv')

c= (df['Start'] <= df2['Start']) & (df['End'] >= df2['Start']) | (df['Start'] <= df2['End']) & (df['End'] >= df2['End'])

但是我没有任何运气可以工作。

有人可以指出我正确的方向吗?我认为在这种情况下,合并或合并都不会对我有效。

评论