【发布时间】:2021-12-27 19:47:05
【问题描述】:
我在飞机上有 1000 个点的数据集。我表示 P 中所有可能的点对并计算所有可能对的距离。 我要做的是:对于给定的n,计算P中所有点p的所有第n个最近点。
我之前做过的:
P_pairs = [((33, 9), (34, 13)), ((33, 9), (62, 119)), ((33, 9), (33, 7)), ((33, 9), (48, 123)), ...]
listofdistances = [{'((33, 9), (34, 13))': 4.123105625617661}, {'((33, 9), (62, 119))': 113.75851616472501}, {'((33, 9), (33, 7))': 2.0}, ...]
在这种情况下,我被困在对listofdistances 进行排序,这样对于每个点,都有最小的 n 距离作为剩余的值。
也许我必须直接计算第 n 个最近的点,而不是计算点的所有距离。但我不知道怎么做。
【问题讨论】:
-
P似乎有一个所有点配对的列表。不应该是长度为 1000 的[(33, 9), (34, 13), (62, 119), ...]吗? -
@Reti43 是的,没错!
标签: python sorting nearest-neighbor euclidean-distance