彼此范围内的平均数据点?
Average data points within a range of each other?
我有一个包含以下列的 Pandas 数据框:
lat1 lon1 lat2 lon2
lat
和 lon
变量是以度为单位的纬度和经度。许多点彼此非常非常接近。我想将此数据框划分为“集群”,例如,将彼此相距 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,或 ...
我有一个包含以下列的 Pandas 数据框:
lat1 lon1 lat2 lon2
lat
和 lon
变量是以度为单位的纬度和经度。许多点彼此非常非常接近。我想将此数据框划分为“集群”,例如,将彼此相距 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,或 ...