计算两个不同数据帧中坐标之间的距离

2024-04-20 02:09:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧,如下所示:

df_customers.head()

|    | customer_id                      |   zip_code_prefix | coords                                    |
|----+----------------------------------+-------------------+-------------------------------------------|
|  0 | 06b8999e2fba1a1fbc88172c00ba8bc7 |             14409 | (-20.509897499999997, -47.3978655)        |
|  1 | 18955e83d337fd6b2def6b18a428ac77 |              9790 | (-23.72685273154166, -46.54574582941039)  |
|  2 | 4e7b3e00288586ebd08712fdd0374a03 |              1151 | (-23.527788191788307, -46.66030962184773) |
|  3 | b2b6027bc5c5109e529d4dc6358b12c3 |              8775 | (-23.49693002789165, -46.185351975305366) |
|  4 | 4f2d8ab171c80ec8364f7c12e35b23ad |             13056 | (-22.98722237101393, -47.151072819246686) |
+----+----------------------------------+-------------------+-------------------------------------------+ 

df_sellers.head()

|    | seller_id                        |   zip_code_prefix | coords                                     |
|----+----------------------------------+-------------------+--------------------------------------------|
|  0 | 3442f8959a84dea7ee197c632cb2df15 |             13023 | (-22.898536428530225, -47.063125168330544) |
|  1 | d1b65fc7debc3361ea86b5f14c68d2e2 |             13844 | (-22.382941116125448, -46.94664125419024)  |
|  2 | ce3ad9de960102d0677a81f5d0bb7b2d |             20031 | (-22.91064096725142, -43.17650983181368)   |
|  3 | c0f3eea2e14555b6faeea3dd58c1b1c3 |              4195 | (-23.657250175378767, -46.61075944811122)  |
|  4 | 51a04a8a6bdcb23deccc82b0b80742cf |             12914 | (-22.971647510075705, -46.53361841170685)  |
+----+----------------------------------+-------------------+--------------------------------------------+ 

我想计算那些带有haversine库的coords列之间的差异,而不必合并那些数据帧(它们之间存在多对多关系)

因此,我要寻找的是一种通过列zip_code_prefix合并两个数据帧的方法,同时使用haversine库以KM为单位计算坐标距离

可能吗


Tags: 数据iddfprefixcodecustomercoordszip