Python 使用pandas和geopy计算两点之间的距离

Python 使用pandas和geopy计算两点之间的距离,python,pandas,distance,geopy,Python,Pandas,Distance,Geopy,我有一个如下的熊猫数据框,包括四列,但每行有两个点(lat1,lon1)和(lat2,lon2): 使用geopy计算每行中提到的(lat1,lon1)和(lat2,lon2)之间的距离的最有效方法是什么?您的lat/lon是什么坐标系 让我们试试Euc-squrt(delta(lat)**2+delta(lon)**2) 即使你自己似乎没有做过任何研究,你也可以这样做: 短期谷歌搜索: 通过实践,您现在可以相对轻松地了解如何访问熊猫中的DF并应用操作(@wwnde已经展示了这一点) 将这两个基

我有一个如下的熊猫数据框,包括四列,但每行有两个点(lat1,lon1)和(lat2,lon2):


使用
geopy
计算每行中提到的(lat1,lon1)和(lat2,lon2)之间的距离的最有效方法是什么?

您的lat/lon是什么坐标系

让我们试试Euc-
squrt(delta(lat)**2+delta(lon)**2)


即使你自己似乎没有做过任何研究,你也可以这样做: 短期谷歌搜索:

通过实践,您现在可以相对轻松地了解如何访问熊猫中的DF并应用操作(@wwnde已经展示了这一点)

将这两个基本要素结合起来可以:

import pandas as pd
import numpy as np
from geopy import distance

# Generate some random data (lon, lat must be in (-90, 90)
df = pd.DataFrame(np.random.randint(-90, 90, size=(100, 4)), columns=list(['lo1', 'la1', 'lo2', 'la2']))
print(df)

# applies the distance function as described in the provided link
df['km'] = df.apply(lambda x: distance.distance((x[0], x[1]), (x[2], x[3])), axis=1)
print(df)
此外,我还发现了第一个链接,但没有阅读,因为解决方案非常简单


正如StackOverflow的CoC建议的那样,请提供您已经尝试过的内容,并提供正确的行为,以便简单地查看google。

您尝试过什么吗?
 df['dist']=((df.lat1.sub(df.lat2)**2).add(df.lon1.sub(df.lon2)**2))**0.5
import pandas as pd
import numpy as np
from geopy import distance

# Generate some random data (lon, lat must be in (-90, 90)
df = pd.DataFrame(np.random.randint(-90, 90, size=(100, 4)), columns=list(['lo1', 'la1', 'lo2', 'la2']))
print(df)

# applies the distance function as described in the provided link
df['km'] = df.apply(lambda x: distance.distance((x[0], x[1]), (x[2], x[3])), axis=1)
print(df)