Время прочтения: 4 мин.

Чтобы определить фактическое место встречи сотрудника с клиентом, нет необходимости заходить на Яндекс.Карты и вводить по одному координаты чекина или адрес. Данный процесс поможет автоматизировать библиотека Folium, которая предназначена для визуализации данных, содержащие местоположение (координаты).

Суть данного инструмента заключается в отображении меток на карте, характеризующие конкретные значения широты и долготы. Если в наборе данных эти значения повторяются, то происходит подсчет и последующее отображение в виде метки со значением, равным количеству повторений.

В первую очередь необходимо установить библиотеку Folium, с помощью следующей команды, в интерпретаторе Jupyter Notebook:

Далее импортируем необходимые библиотеки для работы инструмента. Первые две и последняя строчки импортируют библиотеки, необходимые для предобработки самих данных, остальное импортирует библиотеку folium и необходимые для неё инструменты.

Следующим этапом загружаем данные, которые будем визуализировать. В данном примере данные со значениями широты и долготы хранятся в файле с расширением .csv:

Для загрузки Excel-файла используем следующую команду:

Загруженные данные должны иметь следующий вид, где первый столбец содержит значения широты, второй столбец значения долготы, если в таблице они представлены в строковом формате, необходимо преобразовать их в числовой:

Представленные данные имеют случайный характер и не относятся к персональным данным! Для визуализации активностей понадобится следующая функция:

Несмотря на размеры функции, потребуется задать лишь четыре параметра, два из которых необязательны:

1) df : имя переменной, которую мы назначили для загружаемых данных;

2) name_employee: результатом алгоритма является .html-файл, название которого будет состоять из ФИО сотрудника;

3) h_addr: координаты домашнего адреса сотрудника [широта, долгота], необязательный параметр;

4) w_addr: координаты рабочего адреса сотрудника [широта, долгота], необязательный параметр.

После запуска ячейки со следующим кодом, появится .html-файл в папке, где запускался Jupyter Notebook:

При открытии .html-файла отобразится карта, со всеми активностями сотрудника, в соответствии с координатами, которые загрузили из .csv или .xlsx файла:

Если на вход функции были заданы координаты домашнего и рабочего адреса, на карте будут отображены два синих маркера, обозначающие расположения дома и работы. В данном примере видно, что встречи с клиентом осуществлялись 119 раз по домашнему адресу и 81 раз по рабочему адресу сотрудника. Также можно увеличить карту и более детально рассмотреть: к какому из общественных мест относятся места чекинов.

Таким образом, после короткой серии манипуляций в Jupyter Notebook, получаем простой в использовании и информативный инструмент, который поможет ускорить процесс поиска нарушителей.

P.S. Для корректной работы инструмента требуется подключение к сети интернет.

Также читайте на NewTechAudit про использование API ЯНДЕКС.КАРТ для поиска фальсификации выездов сотрудников к клиентам