Я пытаюсь отобразить функцию, чтобы добавить новый столбец в моем фрейме данных.
Определенная мной функция называется «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.
Мне не удается понять, где ошибка ... если функции работают хорошо и функция карты правильно вызывается, где мне нужно изменить код? Пожалуйста, если вы знаете, что я могу сделать, скажите мне, спасибо!