gpt4 book ai didi

python - 如何拥有一个没有距离较近的元素对的数组

转载 作者:行者123 更新时间:2023-12-01 00:28:09 25 4
gpt4 key购买 nike

我想从 numpy 向量中删除比距离 d 更近的元素。 (我不希望数组或列表中的任何对之间的距离小于 d,但又不想完全删除该对。

例如,如果我的数组是:

array([[0.       ],
[0.9486833],
[1.8973666],
[2.8460498],
[0.9486833]], dtype=float32)

我需要的只是删除索引为 1 或 4 的元素,而不是两者。

我还需要原始数组中保留在潜在数组中的元素的索引。

由于原始数组位于tensorflow 2.0中,如果不需要像上面那样转换为numpy,我会更高兴。由于速度的原因,我也不喜欢使用另一个包并继续使用 numpy 或 scipy。

谢谢。

最佳答案

这是一个仅使用列表的解决方案。请注意,这会修改原始列表,因此如果您想保留原始列表,请 copy.deepcopy 它。

THRESHOLD = 0.1    
def wrangle(l):
for i in range(len(l)):
for j in range(len(l)-1, i, -1):
if abs(l[i] - l[j]) < THRESHOLD:
l.pop(j)

关于python - 如何拥有一个没有距离较近的元素对的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58394061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com