ошибка "локальная переменная 'x', на которую ссылаются перед присваиванием" при отображении функции - PullRequest
0 голосов
/ 03 марта 2020

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

Определенная мной функция называется «def_reg» и работает правильно, если она вызывается: она принимает в качестве входных данных строку, содержащую код провинции и возвращает другую строку, содержащую имя соответствующего региона.

def give_reg (sigla):
       for i in range(len(df_regioni["Sigla"])):
           if sigla == df_regioni["Sigla"][i]:
               reg = df_regioni["Regione"][i]
           else: 
               i=i+1
       return reg

Если я вызываю функции следующим образом:

give_reg('RM') 

, он корректно возвращает «Лацио».

Проблема возникает, когда я отображаю эту функцию таким образом :

 list_province = ["Milano", "Crotone", "Macerata", "Caltanissetta"]
 new_col = list(map(give_reg, list_province))

При этом я всегда получаю «локальную переменную reg», на которую ссылаются перед присваиванием », как UnboundLocalError.

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

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