将列添加到数据框中,并与多个点的距离

问题描述

我想向数据框中添加一列,其距离为几个点。

import geopy.distance

point1 = (62.14501749692785,15.489451406957805)
point2 = (61.18566746746592,9.600779755097122)

def distancer(row,point):
  coords_1 = (row['Latitude'],row['Longitude'])
  return geopy.distance.VincentyDistance(coords_1,point).km

我的问题是如何定义/调用函数。

例如添加一个距离point1的列:

dataset['dist_point1'] = dataset.apply(distancer(row=row,point = point1),axis=1)
dataset['dist_point2'] = dataset.apply(distancer(row=row,point = point2),axis=1)

这不起作用,因为我无法将“row”参数传递给函数。

编辑

dataset['coords'] = list(zip(dataset['Latitude'],dataset['Longitude']))
dataset['dist_point1'] = geopy.distance.VincentyDistance(dataset['coords'],point1).km

正在返回错误:

ValueError: When creating a Point from sequence,it must not have more than 3 items.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)