我有两个DataFrame(df1
、df2
),大小不同,但总体列相同。两者都有时间戳和经纬度点。由于收集数据的频率不同,许多点的时间戳和坐标都是相同的。以下是DataFrame的一个示例:
Time_local|Lat|Long
-|-|
2021-09-08 12:56:32-04:00|37.1455|-85.0555
2021-09-08 12:56:32-04:00|37.1455|-85.0555
2021-09-08 12:56:32-04:00|37.1455|-85.0555
|.....................|.....|.|
第二个DataFrame是相同的;但是,在整个过程中,一些坐标点存在差异。我要选择第一个 Dataframe (df1
)中最接近第二个 Dataframe (df2
)中的点的点;例如,如果我有以下坐标基点(37.1455, -85.0555)
,然后选择(37.1454, -85.0555), (37.1454, -85.0556), (37.1453, -85.0556)
,则选择的最近点将是(37.1455, -85.0555)
。
在Python中有没有一个函数可以很容易地做到这一点?
1条答案
按热度按时间qlzsbp2j1#
是的,我们这里需要的是一些数学知识。坐标的
distance
公式将对我们有所帮助。公式:1这里,
x2
表示第二个值,x1
表示第一个值。y
也是如此。将其放入代码*(笛卡尔平面)*中:
对于平面*(其中只有y坐标重要)*: