Узнайте, как создавать красивые картограммы в Python и Geopandas.

В этом руководстве вы узнаете, как создавать потрясающие карты на Python с помощью GeoPandas и Matplotlib. Карты могут быть невероятно доступной формой визуализации данных, которую люди могут легко понять. Однако процесс создания карт — не самая простая задача. Этот учебник призван исправить это, помогая вам использовать GeoPandas и Matplotlib.

К концу этого урока вы узнаете:

  1. Как загружать и управлять шейп-файлами в GeoPandas
  2. Как создавать красивые картограммы в Python
  3. Как настроить карты с помощью GeoPandas и Matplotlib

Давайте погрузимся прямо в!

Как работает GeoPandas?

GeoPandas сочетает в себе мощные функции Pandas для использования DataFrames и Shapely для работы с геометрическими данными. Это позволяет вам работать со знакомым синтаксисом Pandas, расширяя его функциональность для создания красивых карт.

Мы создадим карту ниже. Для начала вы можете загрузить шейп-файлы с веб-сайта переписи населения США здесь. Загрузите формы состояния (более низкое разрешение, например 20 м, будет хорошо работать). Разархивируйте файл и поместите его в папку рядом с вашим скриптом.

Приступим к созданию карты!

Загрузка ShapeFile в GeoPandas DataFrame

Вы можете загрузить Geopandas DataFrame, используя следующий код:

Мы можем видеть, что, загружая данные в GeoPandas DataFrame, они очень напоминают обычный Pandas DataFrame. Что в этом хорошего, так это то, что мы можем использовать различные функции и методы, доступные в Pandas.

Давайте теперь загрузим наши данные о населении, чтобы проанализировать их. Мы загрузим его в Pandas DataFrame и сделаем несколько вычислений.

В приведенном выше коде мы загружаем наш DataFrame df и применяем к нему некоторую очистку. Поскольку данные загружаются в виде строк, мы сначала удаляем все запятые и преобразуем значения. Затем мы рассчитываем процентное изменение между двумя годами.

Теперь, когда наши наборы данных подготовлены, давайте создадим наш окончательный набор данных!

Создание нашего окончательного набора данных

Поскольку GeoPandas DataFrames имеют доступ к базовым DataFrames, теперь мы можем объединить два наших набора данных. Мы хотим объединиться с нашей фигурой DataFrame и сделать окончательную очистку:

В приведенном выше коде мы объединяем два наших набора данных. Затем мы отбрасываем все пропущенные значения между ними. Наконец, мы отфильтровываем неконтинентальные штаты и территории США, чтобы увеличить нашу карту.

Теперь мы можем построить нашу карту, используя следующий код:

В приведенном выше коде мы создаем объект ax, который представляет собой график в стиле shape.boundary. Затем мы наносим столбец изменения численности населения на оси. Это возвращает следующую визуализацию.

Мы сделали совсем немного. Давайте настроим наше изображение дальше, чтобы оно выглядело лучше и было более информативным!

Настройка нашей карты с помощью Python

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

Давайте посмотрим, как мы можем сделать некоторые из этих настроек:

В приведенном выше коде мы делаем следующие настройки:

  • Мы меняем вызов функции .plot(), чтобы использовать черные линии с меньшей шириной.
  • Мы меняем цветовую карту наших данных и передаем некоторые ключевые слова легенды.
  • Отключаем оси и шипы
  • Мы устанавливаем заголовок, чтобы сделать наш сюжет более описательным

Эти изменения возвращают следующее изображение:

Заключение

В этом уроке вы узнали, как создавать красивые картограммы на Python с помощью GeoPandas! Поскольку GeoPandas использует Pandas DataFrame под капотом, вы можете использовать знакомый код для анализа и объединения данных.

Надеюсь, этот урок заставил вас больше заинтересоваться тем, как работать с картами в Python. Карты могут быть невероятным инструментом визуализации данных, понятным многим!