Python 将两列中的坐标合并为一列

Python 将两列中的坐标合并为一列,python,pandas,Python,Pandas,我试图得到A点到B点的距离,但是坐标被分成4列 Point_a_lat Point_a-long Point_b_lat Point_B_long ----------------------------------------------------- 40.744607 -73.990742 40.752073 -73.985370 由于Geopy.distance无法计算坐标分散成四列的距离,因此我的最佳猜测是简单地将点a的lat和lon以及点b组合起来 我以为这

我试图得到A点到B点的距离,但是坐标被分成4列

Point_a_lat  Point_a-long  Point_b_lat  Point_B_long
-----------------------------------------------------
 40.744607   -73.990742     40.752073   -73.985370
由于Geopy.distance无法计算坐标分散成四列的距离,因此我的最佳猜测是简单地将点a的lat和lon以及点b组合起来

我以为这样会容易些,但我有麻烦了

我试着把它们列成一个清单

df['point_a'] = list(zip(df.Point_a_lat, df.Point_a_lon))
df['point_b'] = list(zip(df.Point_b_lat, df.Point_b_lon))
但它不会接受这一点


有什么想法吗?

我想需要调用函数
vincenty
by,使用
axis=1
为每行进程:

from geopy.distance import vincenty

df['distance'] = df.apply(lambda x: vincenty((x['Point_a_lat'], x['Point_a_lon']), 
                                             (x['Point_b_lat'], x['Point_b_lon'])).m, axis=1)
print (df)

   Point_a_lat  Point_a_lon  Point_b_lat  Point_b_lon    distance
0    40.744607   -73.990742    40.752073    -73.98537  945.107136

到目前为止你都试了些什么?我想是被切断了。让我编辑一下。