【发布时间】:2021-10-12 11:43:12
【问题描述】:
我有一个数据框,其中包含索引中的位置名称和 2 列纬度和经度。
data = {'LE0039': {'LATITUDE': 59.522583, 'LONGITUDE': 29.566056},
'LE0073': {'LATITUDE': 59.287991, 'LONGITUDE': 31.369472},
'LE0142': {'LATITUDE': 59.350241, 'LONGITUDE': 32.531339},
'LE0278': {'LATITUDE': 59.96475, 'LONGITUDE': 29.19585}}
df = pd.DataFrame.from_dict(data, 'index')
LATITUDE LONGITUDE
LE0039 59.522583 29.566056
LE0073 59.287991 31.369472
LE0142 59.350241 32.531339
LE0278 59.964750 29.195850
我需要计算从一个站点到任何其他站点的最小距离,并将其存储在每个站点的第三列中。我想用 scipy.spatial.distance.pdist() 计算距离矩阵,但为了做到这一点,我首先需要一个带有 (LATITUDE, LONGITUDE) 的新列,以便将其传递给 pdist()。
所以我有两个问题。一个是如何将 lat 和 long 组合成一个 (lat,long) 数组,另一个是如果您认为有更好的方法来计算最小距离
【问题讨论】:
标签: python pandas dataframe scipy distance