Python 经纬度:计算两点之间的距离并选择最近的一点

Python 经纬度:计算两点之间的距离并选择最近的一点,python,pandas,dataframe,coordinates,distance,Python,Pandas,Dataframe,Coordinates,Distance,我有一个包含15k行的数据框,其中包含坐标和位置名称(主要是业务) 斑点 lat1 l1 地方 lat2 lon2 1. 41,1808128356934 -8,53291034698486 A. 41.146749 -8.613889 1. 41,1808128356934 -8,53291034698486 B 41.146105 -8.609868 2. 41,1491432189941 -8,61034202575684 A. 41.146749 -8.613889 2. 41,1491

我有一个包含15k行的数据框,其中包含坐标和位置名称(主要是业务)

斑点 lat1 l1 地方 lat2 lon2 1. 41,1808128356934 -8,53291034698486 A. 41.146749 -8.613889 1. 41,1808128356934 -8,53291034698486 B 41.146105 -8.609868 2. 41,1491432189941 -8,61034202575684 A. 41.146749 -8.613889 2. 41,1491432189941 -8,61034202575684 B 41.146105 -8.609868
您的
lat1
lon1
是字符串。在计算范数之前,可能需要将
替换为
,并转换为浮点:

df[['lat1', 'lon1']] = df[['lat1','lon1']].apply(lambda x: pd.to_numeric(x.str.replace(',','.')) )

如果距离太远,地球曲率出现在图片中,您可以使用
haversine
公式。谢谢您的建议。我读到了,并且能够做到。谢谢。我刚试过,出现了错误
ValueError:给定的日期字符串不太可能是datetime。
不知道为什么它假设为datetime@路易斯费雷拉:我的错,应该是
pd.to\u numeric
。不知道我把pd.to_datetime:Dmy bad to not check:D再次提醒你:D