我正在使用foverlaps函数在R中合并表。但是我需要使用python重现相同的输出。我搜索了一下,在pandas库上找到了merge函数。但是即使使用这个函数,我也不能复制相同的输出。在
首先,R中的输出:
这是第一张表格(间隔):
V1 V2 intid
1: 1 5 1
2: 4 9 2
3: 6 12 3
4: 11 17 4
5: 18 20 5
这是第二个表(decomp):
^{pr2}$R中进行合并的代码:
relations <- foverlaps(decomp, intervals, type='within', nomatch=0)
输出(关系):
V1 V2 intid i.V1 i.V2 subid
1: 1 5 1 1 4 A
2: 1 5 1 4 5 B
3: 4 9 2 4 5 B
4: 4 9 2 5 6 C
5: 4 9 2 6 9 D
6: 6 12 3 6 9 D
7: 6 12 3 9 11 E
8: 6 12 3 11 12 F
9: 11 17 4 11 12 F
10: 11 17 4 12 17 G
11: 18 20 5 18 20 I
现在我在python中的输出:
这是第一个表(df_of_pairs):
V1 V2 intid
0 1 5 1
1 4 9 2
2 6 12 3
3 11 17 4
4 18 20 5
这是第二个表(相邻的df_):
V1 V2 subid
0 1 4 A
1 4 5 B
2 5 6 C
3 6 9 D
4 9 11 E
5 11 12 F
6 12 17 G
7 17 18 H
8 18 20 I
现在的问题是,我在使用pandas merge时没有在python中复制相同的输出。我尝试了几种方法,但都没有成功,以下是我使用的方法之一:
df = df_of_pairs.merge(df_of_adjacent, left_on=['V1'], right_on=['V2'] )
输出(df):
V1_x V2_x intid V1_y V2_y subid
0 4 9 2 1 4 A
1 6 12 3 5 6 C
2 11 17 4 9 11 E
3 18 20 5 17 18 H
{但是在这个例子中,它和a3的列很相似。在
我不能很容易地得到您想要的精确输出,但是这里有一个使用
IntervalIndex
的部分解决方案。在相关问题 更多 >
编程相关推荐