从多个熊猫系列创建元组的多维numpy数组并对其进行处理

时间:2019-01-24 22:39:53

标签: python pandas numpy

我想计算两个点之间的正弦距离,并根据计算结果创建一个新的熊猫系列。我的输入来自四个不同的熊猫系列,分别是:pickup_longitude,pickup_latitude,dropoff_longitude,dropoff_latitude。

Haversine模块中用于计算距离的函数具有以下签名:

p1 = (x1, y1)
p2 = (x2, y2)
haversine(p1, p2): return distance between p1 and p2

我很好奇是否有一种快速的,Python方式的方法。

这是我天真的解决方法:

pulo = train['pickup_longitude'].values
pula = train['pickup_latitude'].values
dolo = train['dropoff_longitude'].values
dola = train['dropoff_latitude'].values

pickup_list = list(zip(pulo,pula))
dropoff_list = list(zip(dolo, dola))

coords = []

for i in range(len(train)):
    coords.append([pickup_list[i], dropoff_list[i]])

haversines = []
for i in range(len(coords)):
    haversines.append(haversine(coords[i][0], coords[i][1]))

train['distance'] = np.asarray(haversines)

0 个答案:

没有答案