Как рассчитать расстояние, пройденное пользователем на основе двух столбцов?
Особенности, например:
user_id coordinate Initial distance
8 -2,1 0,0
5 -2,-1 0,0
3 1,0 0,0
5 0,2 0,0
8 2,6 0,0
3 4,5 0,0
Объяснение:
user_id
3 начальная позицияравно 0,0.
Следующие координаты -4,4.Общее расстояние = | -4 - 0 |+ | 4 - 0 |= 8. Следующие координаты 4,5.Общее расстояние = 8 + | 4 - (-4) |+ | 5 - 4 |= 17.
user_id total distance
1 40
3 24
Я уже пробовал ниже код, он будет работать только для одного user_id
, но мне нужны все user_id
for i,j in zip(x['coordinate'][:-1], x['coordinate'].shift(-1)):
print('i',i,'j',j)
diff.append((np.array(i) - np.array(j)))
#print(list(zip(i,j)))
diff.insert(0,np.array([-2,1]))
r=[abs(i)+abs(j) for i,j in diff]
print(diff)
print(sum(r))