gpt4 book ai didi

python - 将两列坐标合并为一列

转载 作者:行者123 更新时间:2023-12-01 01:45:59 26 4
gpt4 key购买 nike

我试图获取 A 点到 B 点的距离,但坐标分散为 4 列。

Point_a_lat  Point_a-long  Point_b_lat  Point_B_long
-----------------------------------------------------
40.744607 -73.990742 40.752073 -73.985370

由于 Geopy.distance 无法计算将坐标分散为四列的距离,因此我最好的猜测是简单地组合点 a 的纬度和经度,对于点 b 也是如此。

我以为这会更容易,但我遇到了麻烦。

我尝试将它们变成一个列表

df['point_a'] = list(zip(df.Point_a_lat, df.Point_a_lon))
df['point_b'] = list(zip(df.Point_b_lat, df.Point_b_lon))

但它不会接受这一点。

有什么想法吗?

最佳答案

我认为需要通过 apply 调用函数 vincenty使用 axis=1 表示每行的进程:

from geopy.distance import vincenty

df['distance'] = df.apply(lambda x: vincenty((x['Point_a_lat'], x['Point_a_lon']),
(x['Point_b_lat'], x['Point_b_lon'])).m, axis=1)
print (df)

Point_a_lat Point_a_lon Point_b_lat Point_b_lon distance
0 40.744607 -73.990742 40.752073 -73.98537 945.107136

关于python - 将两列坐标合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com