Создание тепловой карты Великобритании - PullRequest
0 голосов
/ 21 января 2019

У меня есть фрейм данных для британских данных, который выглядит примерно так:

longitude   latitude     region           priority
51.307733   -0.75708898  South East       High
51.527477   -0.20646542  London           Medium
51.725135   0.4747223    East of England  Low

Длина этого кадра данных составляет несколько тысяч строк. Я хочу, чтобы тепловая карта Великобритании была разбита по регионам, а интенсивность цвета зависела от приоритета в каждом регионе.

Я хотел бы знать, как лучше всего превратить это в тепловую карту Великобритании. Я пробовал geoPandas и Plotly, но не знаю, как это работает. Это лучший способ сделать это или есть инструмент, на который вы можете просто загрузить свои данные, и он подготовит их для вас? Спасибо!

1 Ответ

0 голосов
/ 21 января 2019

Для такого рода работ я использую фолиум, который отлично подходит для работы с картами, но для HeatMap у вас должна быть колонка «приоритет» как float!

import folium
from folium import plugins
from folium.plugins import HeatMap


my_map = folium.Map(location=[51.5074, 0.1278],
                    zoom_start = 13) # for UK 


your_dataframe['latitude'] = your_dataframe['latitude'].astype(float)
your_dataframe['longitude'] = your_dataframe['longitude'].astype(float)
your_dataframe['priority'] = your_dataframe['priority'].astype(float)


heat_df = your_dataframe[['latitude', 'longitude','priority']]
heat_df = heat_df.dropna(axis=0, subset=['latitude','longitude','priority'])

# List comprehension to make out list of lists
heat_data = [[row['latitude'],row['longitude'],row['priority']] for index, row in heat_df.iterrows()]

my_map.add_children(plugins.HeatMap(heat_data))
my_map.save('map.html')

, а затем вам нужно открыть map.html в вашем браузере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...