使用 Pandas 和 Geopy 计算 2 组 lat/long 坐标之间的距离
Calculating the distance between 2 sets of lat/long coordinates with Pandas and Geopy
我正在尝试使用 2 个不同的数据帧,每个数据帧具有不同的一组 lat/long 坐标,以使用 Geopy 计算它们之间的距离。
from geopy import distance
def dist_calc (row):
start = (row['Lat_1' ], row['Long_1'])
stop = (row['Lat_2'], row['Long_2'])
return distance.great_circle(start, stop).km
df['distance'] = df.apply (lambda row: dist_calc (row), axis=1)
我不断收到以下错误。
我也尝试过 , ignore_index=True 。
KeyError: ('Lat_2', 'occurred at index 0')
我是否需要合并或连接我的数据帧才能完成此操作?或者如何让这段代码起作用?
连接你的 dfs 然后 运行 你的函数:
new_df = pd.concat([df1, df2], axis=1)
def dist_calc (row):
start = (row['Lat_1' ], row['Long_1'])
stop = (row['Lat_2'], row['Long_2'])
return distance.great_circle(start, stop).km
new_df['distance'] = new_df.apply (lambda row: dist_calc (row), axis=1)
我正在尝试使用 2 个不同的数据帧,每个数据帧具有不同的一组 lat/long 坐标,以使用 Geopy 计算它们之间的距离。
from geopy import distance
def dist_calc (row):
start = (row['Lat_1' ], row['Long_1'])
stop = (row['Lat_2'], row['Long_2'])
return distance.great_circle(start, stop).km
df['distance'] = df.apply (lambda row: dist_calc (row), axis=1)
我不断收到以下错误。 我也尝试过 , ignore_index=True 。
KeyError: ('Lat_2', 'occurred at index 0')
我是否需要合并或连接我的数据帧才能完成此操作?或者如何让这段代码起作用?
连接你的 dfs 然后 运行 你的函数:
new_df = pd.concat([df1, df2], axis=1)
def dist_calc (row):
start = (row['Lat_1' ], row['Long_1'])
stop = (row['Lat_2'], row['Long_2'])
return distance.great_circle(start, stop).km
new_df['distance'] = new_df.apply (lambda row: dist_calc (row), axis=1)