testlist = [1,1,2,3,4,5,11,12,12,13,14,15,21,22,23,23,24,24,25]
def merge_dot(dataset,bp=5):
bplist = list()
processedlist = list()
dataset = list(set(dataset))
dataset.sort()
while len(dataset):
while len(dataset):
if len(dataset) == 1:
bplist.insert(0,dataset.pop(0))
elif len(dataset) >= 2:
if dataset[1] - dataset[0] < bp:
bplist.append(dataset.pop(1))
else:
bplist.insert(0,dataset.pop(0))
break
if len(bplist)%2 == 1:
processedlist.append(bplist[len(bplist)//2])
else:
processedlist.append(bplist[len(bplist)//2-1])
bplist.clear()
return processedlist
print(merge_dot(testlist))
python实现5bp位点合并
最新推荐文章于 2025-12-20 09:26:15 发布
本文介绍了一种数据点合并算法,该算法通过设定一个阈值(bp),将数据集中的连续或接近的数据点进行合并,形成更简洁的数据表示。算法首先去除数据集中的重复项并排序,然后使用迭代方式对数据点进行比较和合并,最终返回处理后的数据列表。此算法适用于数据预处理阶段,能够有效减少数据量,为后续数据分析或机器学习任务提供更高效的数据输入。
2612

被折叠的 条评论
为什么被折叠?



