У меня есть набор данных 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
Я пытаюсь использовать панды, чтобы разделить данные на группы по дате, а затем хотел бы перебрать каждую группу и вычислить расстояние междуlat, long в каждой группе, использующей функцию haversine, которая принимает 2 координаты в качестве параметров.
Для этого мне нужно вычислить расстояние, скажем, coord1 with coord2, coord 2 with coord 3 and so on (from the group)
Я хочу сделать это, чтобы рассчитать среднее пройденное расстояние.Затем мне нужно сложить расстояния и разделить их на количество групп.
С пандами мне удалось разделить данные на группы, но я не уверен, как перебирать эти группы, исключая группы(скажем "2018-10-02 16:52:54
"), у которого нет 2 координат для вычисления расстояния от.
Мой текущий скрипт на 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мне через это.