Получение python ключевой ошибки в словаре при построении - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь применить if if к функции, имеющей шестнадцатеричный код цвета. Если значение равно «PU», оно должно возвращать указанный c цвет. Я применяю функцию на карте фолиума, но у меня Key Error KA

, это словарь, у меня есть

values = {'state':['KA','BL','KPK','PU'],'Temperature':[70,56,47,30],'Lat':[24.8607,25.3960,27.7244,27.5570],'Long':[67.0011,68.3578,68.8228,68.2028]}

temp_data = pd.DataFrame(values)
state_info = temp_data.set_index('Temperature')['state'].to_dict()
print(state_info)

значения, которые я получаю после set_index()

{70: 'KA', 56: 'BL', 47: 'KPK', 30: 'PU'}

dict_keys([70, 56, 47, 30])
dict_values(['KA', 'BL', 'KPK', 'PU'])

Я использую словарь для нанесения другого цвета на заданное c состояние

полный код

def my_color_function(feature):
    """Maps low values to green and hugh values to red."""
    if state_info[feature['id']] == 'KA':
        return '#ff0000'
    else:
        return '#008000'
m = folium.Map([30.3753, 69.3451], tiles='Stamen Terrain', zoom_start=5)
state_geo = os.path.join('', 'pakistan.json')
folium.GeoJson(
    state_geo,
    style_function=lambda feature: {
        'fillColor': my_color_function(feature),
        'color' : 'black',
        'weight' : 2,
        'dashArray' : '5, 5'
        }
    ).add_to(m)

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