彼此范围内的平均数据点?

Average data points within a range of each other?

我有一个包含以下列的 Pandas 数据框:

lat1    lon1    lat2    lon2

latlon 变量是以度为单位的纬度和经度。许多点彼此非常非常接近。我想将此数据框划分为“集群”,例如,将彼此相距 60 英尺以内的所有数据点分组在一起。我知道我可以使用 geopy.distance.vincenty 来获取点之间的距离。但我不确定如何根据彼此之间的距离循环遍历数据框以聚类点。

问题是你的任务没有明确定义。

考虑点 a、b、c。设距离为:a 到 b:40,b 到 c:40,a 到 c 80。

现在如果你想平均分在 60 以内,那么你需要用 a 和 c 来平均 b,而不是 a 和 c!

这里你需要更精确。也许是单 link 聚类,但也许你想要完整 link,或平均 link,或病房,或 DBSCAN,或 ...