Как исправить цикл в функции при работе с вложенным словарем в Python?
Есть следующий код
import pandas as pd
geo= pd.read_csv('keywords.csv')
geo.columns = ['keyword', 'shows']
geo_data = {
'Центр': ['москва', 'тула', 'ярославль'],
'Северо-Запад': ['петербург', 'псков', 'мурманск'],
'Дальний Восток': ['владивосток', 'сахалин', 'хабаровск']
}
def geod(keyword):
for region, city_list in geo_data.items():
for city in city_list:
if city in keyword:
return region
else:
return 'undefined'
geo['region'] = geo.apply(geod, axis=1)
geo.head(150)
Цикл внутри функции ко всем строчкам в датафрейме возвращает значение "undefined". В чем может быть ошибка?