具有熊猫数据框的矢量化Haversine公式

我知道要找到两个纬度和经度点之间的距离,我需要使用Haversine函数:


def haversine(lon1, lat1, lon2, lat2):

    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])

    dlon = lon2 - lon1 

    dlat = lat2 - lat1 

    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2

    c = 2 * asin(sqrt(a)) 

    km = 6367 * c

    return km

我有一个DataFrame,其中一列是经度,另一列是经度。我想找出这些点与设定点-56.7213600、37.2175900有多远。如何从DataFrame中获取值并将其放入函数中?


示例DataFrame:


     SEAZ     LAT          LON

1    296.40,  58.7312210,  28.3774110  

2    274.72,  56.8148320,  31.2923240

3    192.25,  52.0649880,  35.8018640

4     34.34,  68.8188750,  67.1933670

5    271.05,  56.6699880,  31.6880620

6    131.88,  48.5546220,  49.7827730

7    350.71,  64.7742720,  31.3953780

8    214.44,  53.5192920,  33.8458560

9      1.46,  67.9433740,  38.4842520

10   273.55,  53.3437310,   4.4716664


慕容708150
浏览 368回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python