@FreeCam

Как перенести данные на «карту» pandas?

Здравствуйте, скажите пожалуйста, как сделать "тепловую" карту по АО Москвы?
У меня есть xlsx файл, который я считываю, группирую данные по административным округам и вычисляю количество парковочных мест.
df = pd.read_excel('data.xlsx', usecols="A:M")
df.drop(axis=0, labels=[0], inplace=True)
display(df)

627818336e2a3474776662.png
shp файл с картой Москвы, деление на административные округа
ZIP_PATH = 'zip://MoscowMaps.zip!data/'
LAYERS_DICT = {
    'boundary_L5': 'boundary-polygon-lvl5.shp',
    'boundary_L8': 'boundary-polygon-lvl8.shp',
              }
for layer in LAYERS_DICT.keys():
    path_to_layer = ZIP_PATH + LAYERS_DICT[layer]
    globals()[layer] = gpd.read_file(path_to_layer, encoding='cp1251')

df['CarCapacityDisabled'] = df['CarCapacityDisabled'].astype(int)
stat = df.groupby('AdmArea').agg(['sum', 'mean'])[['CarCapacityDisabled']]
stat.columns = ['CarCap_sum', 'CarCap_mean']
stat.sort_values('CarCap_sum', inplace=True)
stat.loc[len(stat)] = [0, 0]
stat.loc[len(stat)] = [0, 0]
stat.loc[len(stat)] = [0, 0]
stat.sort_values('CarCap_sum', inplace= True)
display(stat)
#noinspection PyUnresolvedReferences
boundary_L5.plot(stat['CarCap_sum'], legend=True, figsize = (10, 10));

В результате это:
62781903d7564961087334.png
6278190baeb54882257144.png
Объясните, пожалуйста, как надо передавать данные, чтобы построение было правильным?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы