У меня есть набор данных csv, который выглядит так:
created_date,latitude,longitude
"2018-10-02 16:52:54",20.56314546,-100.40871983
"2018-10-07 18:06:37",20.56899227,-100.40879701
"2018-10-08 11:55:31",20.57479211,-100.39687493
"2018-10-08 11:55:31",20.58076244,-100.36075875
"2018-10-08 11:55:31",20.60529101,-100.40951731
"2018-10-08 11:55:31",20.60783806,-100.37852743
"2018-10-09 18:10:00",20.61098901,-100.38008197
"2018-10-09 18:10:00",20.61148848,-100.40851908
"2018-10-09 18:10:00",20.61327334,-100.34415272
"2018-10-09 18:10:00",20.61397514,-100.33583425
Я пытаюсь использовать pandas для разделения данных на группы по дате, а затем хотел бы выполнить итерацию по каждой группе и рассчитать расстояние между широтой и длиной в каждой группе, используя функцию haversine, которая принимает 2 координаты в качестве параметров.
Для этого я должен рассчитать расстояние, скажем, coord1 with coord2, coord 2 with coord 3 and so on (from the group)
Я хочу сделать это, чтобы рассчитать среднее пройденное расстояние. Затем мне нужно было бы сложить расстояния и разделить их на количество групп.
С пандами мне удалось разделить свои данные на группы, но я не уверен, как перебирать эти группы, исключая группы (скажем, «2018-10-02 16:52:54
»), у которых нет двух координат для расчета расстояния.
Мой текущий скрипт Python выглядит так:
col_names = ['date', 'latitude', 'longitude']
data = pd.read_csv('dataset.csv', names=col_names, sep=',', skiprows=1)
grouped = data.groupby('date')
for index, item in grouped:
Любое руководство приветствуется, у меня есть общее представление о том, как это сделать, но я не уверен, что такие инструменты, как zip, могут помочь мне в этом.