Sps Gps start end
SP1 G1 2 322
SP1 G1 318 1368
SP1 G1 21125 22297
SP2 G2 2 313
SP2 G2 334 1359
SP2 G2 11716 11964
SP2 G2 20709 20885
SP2 G2 21080 22297
SP3 G3 2 313
SP3 G3 328 1368
SP3 G3 21116 22294
SP4 G4 346 1356
SP4 G4 21131 22282
并且我想要为每个Sps
和Gps
添加新的列Threshold_gps
,它们具有彼此相邻的开始和结束,但是其中距离长度(结束-开始)低于阈值500.
让我们举几个例子:
SP1至G1
Sps Gps start end
SP1 G1 2 322
SP1 G1 318 1368
SP1 G1 21125 22297
这里是318-322=-4
,也就是< 500
,所以我将它们分组
Sps Gps start end Threshold_gps
SP1 G1 2 322 G1
SP1 G1 318 1368 G1
SP1 G1 21125 22297
21125-1368=19757
也就是> 500
所以我不把它们分组
Sps Gps start end Threshold_gps
SP1 G1 2 322 G1
SP1 G1 318 1368 G1
SP1 G1 21125 22297 G2
SP2-G2
Sps Gps start end Threshold_gps
SP2 G2 2 313
SP2 G2 334 1359
SP2 G2 11716 11964
SP2 G2 20709 20885
SP2 G2 21080 22297
也就是< 500
所以我把它们分组
Sps Gps start end Threshold_gps
SP2 G2 2 313 G1
SP2 G2 334 1359 G1
SP2 G2 11716 11964
SP2 G2 20709 20885
SP2 G2 21080 22297
11716-1359=10357
也就是> 500
所以我不把它们分组
Sps Gps start end Threshold_gps
SP2 G2 2 313 G1
SP2 G2 334 1359 G1
SP2 G2 11716 11964 G2
SP2 G2 20709 20885
SP2 G2 21080 22297
20709-11964=8745
也就是> 500
所以我不把它们分组
Sps Gps start end Threshold_gps
SP2 G2 2 313 G1
SP2 G2 334 1359 G1
SP2 G2 11716 11964 G2
SP2 G2 20709 20885 G3
SP2 G2 21080 22297
那么21080-20885=195
就是< 500
所以我把它们分组
Sps Gps start end Threshold_gps
SP2 G2 2 313 G1
SP2 G2 334 1359 G1
SP2 G2 11716 11964 G2
SP2 G2 20709 20885 G3
SP2 G2 21080 22297 G3
等等。
Sps Gps start end Threshold_gps
SP1 G1 2 322 G1
SP1 G1 318 1368 G1
SP1 G1 21125 22297 G2
SP2 G2 2 313 G1
SP2 G2 334 1359 G1
SP2 G2 11716 11964 G2
SP2 G2 20709 20885 G3
SP2 G2 21080 22297 G3
SP3 G3 2 313 G1
SP3 G3 328 1368 G1
SP3 G3 21116 22294 G2
SP4 G4 346 1356 G1
SP4 G4 21131 22282 G2
有人有什么好主意吗?
以下是选项卡的dict格式(如果有帮助的话):
{'Sps': {0: 'SP1', 1: 'SP1', 2: 'SP1', 3: 'SP2', 4: 'SP2', 5: 'SP2', 6: 'SP2', 7: 'SP2', 8: 'SP3', 9: 'SP3', 10: 'SP3', 11: 'SP4', 12: 'SP4'}, 'Gps': {0: 'G1', 1: 'G1', 2: 'G1', 3: 'G2', 4: 'G2', 5: 'G2', 6: 'G2', 7: 'G2', 8: 'G3', 9: 'G3', 10: 'G3', 11: 'G4', 12: 'G4'}, 'start': {0: 2, 1: 318, 2: 21125, 3: 2, 4: 334, 5: 11716, 6: 20709, 7: 21080, 8: 2, 9: 328, 10: 21116, 11: 346, 12: 21131}, 'end': {0: 322, 1: 1368, 2: 22297, 3: 313, 4: 1359, 5: 11964, 6: 20885, 7: 22297, 8: 313, 9: 1368, 10: 22294, 11: 1356, 12: 22282}}
1条答案
按热度按时间eagi6jfj1#
我相信您可能希望:
对于Python〈3.8:
输出量: