如何将一个数据帧的两列合并成一个

2024-10-17 06:12:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个dataframe,在索引中有一个位置的名称,有两列,纬度和经度。在

           LATITUDE LONGITUDE
SITE        
LE0039  59.522583   29.566056

LE0073  59.287991   31.369472

LE0142  59.350241   32.531339

LE0278  59.964750   29.195850

.....
.....

我需要计算从一个站点到其他站点的最小距离,并将其存储在每个站点的第三列中。我想用scipy.spatial.distance公司.pdist(),但要执行此操作,我首先需要一个带有(纬度、经度)的新列,以便将其传递给pdist()。在

所以我有两个问题。一个是如何结合lat和long来得到一个数组(lat,long),另一个是如果您认为有更好的方法来计算最小距离

谢谢


Tags: 名称距离dataframe站点sitelonglatlatitude
1条回答
网友
1楼 · 发布于 2024-10-17 06:12:39

使用list+zip的组合。zip创建成对对象,list创建列表,以便将其分配给数据帧

df['combined'] = list(zip(df.LATITUDE, df.LONGITUDE))

输出:

^{pr2}$

旁注:我对十进制展开法很感兴趣,不知道为什么会有000005

关于距离,numpy和{}应该有很多选择,远远超过我所熟悉的,所以你应该在谷歌上快速搜索后找到很多好的选择:)我通常坚持pdist()

相关问题 更多 >