Как реализовать веса в фолиевой карте тепла? - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь добавить веса к слою фолиевой тепловой карты, но не могу понять, как правильно это реализовать.

У меня есть фрейм данных с 3 столбцами: LAT, LON и VALUE. Значение - это общий объем продаж в этом месте.

self.map = folium.Map([mlat, mlon], tiles=tiles, zoom_start=8)
locs = zip(self.data.LAT, self.data.LON, self.data.VALUE)
HeatMap(locs, radius=30, blur=10).add_to(self.map)

Я пытался использовать абсолютные значения продаж и также пытался нормализовать sales / sales.sum (). Оба дают мне схожие результаты.

Проблема в следующем:

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

Ожидаемое поведение:

Я бы ожидал, что интенсивность тепловой карты следует использовать значение продаж каждого магазина, так как продажи были переданы в zip-объекте в плагин HeatMap.

Допустим, у меня есть 2 региона: A и B.
В области AI есть 3 магазина: 10 + 15 + 10 = 35 общих продаж.
В регионе BI есть 1 большой магазин: 100 общих продаж

Я бы ожидал более высокую интенсивность для региона B, чем для региона A. Я заметил что подобное поведение происходит только тогда, когда разница очень большая (если я попробую 35 против 5000000, тогда область B станет более релевантной).

Мой CSV-файл - это просто случайная выборка, например:

LAT,LON,VALUE,DATE,DIFFLAT1,DIFFLON1
-22.4056,-53.6193,14,2010,0.0242,0.4505
-22.0516,-53.7025,12,2010,0.3137,0.6636
-22.3239,-52.9108,100,2010,0.0514,0.0002
-22.6891,-53.7424,6,2010,0.0002,0.7887
-21.8762,-53.6866,16,2010,0.7283,0.6180
-22.1861,-53.5353,11,2010,0.1420,0.2924
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...