Простой способ создания интерактивных диаграмм разброса по географическому признаку

Там, где Тим Хортонс, это мой дом. Тим Хортонс, кофейня в стиле Starbucks, основанная хоккеистом, всегда имеет особое значение для канадцев. По данным Википедии, это крупнейшая в Канаде сеть ресторанов быстрого питания с 4846 магазинами в 14 странах по состоянию на 31 декабря 2018 года. В этой статье мы будем использовать набор данных Tim Hortons Locations от Kaggle, чтобы показать, как создавать интерактивные визуализации широты и долготы на картах с помощью Plotly и Python. Из этих графиков легко ответить на вопрос:

Кого из Тима Хортона обычно посещает Санта-Клаус?

Библиотеки импорта:

Загрузите набор данных:

Оставьте только те столбцы, которые нам нужны в этом проекте:

Проверьте, есть ли пропущенные значения:

Как мы видели, есть 4346 записей без пропущенных значений.

Нанесите все магазины на карту мира:

import plotly.express as px
fig = px.scatter_geo(df,lat=df.latitude,lon=df.longitude,hover_name="_id",scope='world')
fig.show()
# Save the image
fig.write_image("./TimHortonsOnWorldMap.png", width=1200, height=800)

Как показано на изображении, адреса из набора данных в основном находятся в Северной Америке. Так что это не полный набор данных по всем Тимам Хортонам во всем мире, как было заявлено в Kaggle. Для нас это не имеет значения, потому что цель этой статьи - продемонстрировать, как нанести широту и долготу на карты. Если вас интересует полный набор данных всех Тима Хортона, я бы посоветовал очистить информацию напрямую с помощью Google Map API.

Очистите данные:

Есть две точки вдалеке от других. Давайте посмотрим поближе.

Как показано выше, эти два магазина расположены в Северной Америке, но значения Lat и Long неверны. Мы можем удалить их из набора данных.

Быстрый EDA:

Код проверил адрес и создал новый столбец «страна», чтобы сохранить округ, в котором расположены магазины. По данным этого набора данных, 3749 магазинов в Канаде и 595 в США.

Статистическая сводка:

Диаграмма вернула наибольшее и наименьшее значения широты и долготы.

«Причудливый» сюжет с go.Scattergeo

Здесь мы создаем еще один сюжет, чтобы показать, как использовать go.Scattergeo из plotly.graph_objects

В коде мы указали scope = 'north america' и маркер symbol = 'square' .

Посмотрите на самого северного Тима Хортона:

restaurant_70237 - самый северный Тим Хортонс в мире. Даже набор данных не является полным, я считаю, что это после проверки результата на Google Map. Давайте проверим детали:

Как показано в столбце адреса, это Тим Хортонс, расположенный в Нунавуте. Да, Нунавут !!

Нунавут - ближайшее к Северному полюсу населенное место в мире. Он также известен резьбой и одеждой ручной работы коренных народов инуитов. Если Санта-Клаусу нравится Тим Хортонс («Мне это нравится!» - от Санта-Клауса, изучающего машинное обучение), то это место является ближайшим к его дому 🎅🎄👏

В этой статье мы узнали, как создавать интерактивные географические точечные диаграммы на картах мира с помощью Plotly и Python с набором данных местоположений Тима Хортона. Поздравляю! А теперь давайте отправимся в Нунавут и выпьем кофе с Сантой.