这些是我的数据框:
import pandas as pd
from geopy.distance import geodesic
df1 = pd.DataFrame({'name':['a','b','c','d'], 'lat':[37.51, 41.33,37.51, 41.33], 'long':[71.81, 77.89,71.81, 77.89]})
df2 = pd.DataFrame({'id':[1,2], 'loc_a':['a','c'],'loc_z':['b','d']})
我想计算之间的距离,loc_a
并loc_z
使用来自df1
各个a, b, c, d
值的坐标。
过去我使用过这个公式,但我的 LONGITUDE 和 LATITUDE 列将在同一个数据框中。
df2['lat_long_diff'] = df2.apply(lambda x : geodesic((x['LATITUDE_first'],x['LONGITUDE_first']),(x['LATITUDE_second'],x['LONGITUDE_second'])).miles,axis=1)
在这种情况下,我希望 LATITUDE 和 LONGITUDE 应该取自 df1
输出 :
df2
id loc_a loc_z lat_long_diff
1 a b "value in miles"
2 c d "value in miles"