В датасете указаны регионы к которым относятся данные. Необходимо добавить к какому субъекту РФ относится каждый регион
citiRF = ['Москва','Санкт-Петербург','Севастополь ']
Republic = ['Республика Адыгея',
'Республика Алтай',
'Республика Башкортостан',
'Республика Бурятия',
'Республика Дагестан',
'Республика Ингушетия',
'Кабардино-Балкарская'
'Республика Республика',
'Калмыкия Карачаево-Черкесская Республика',
'Республика Карелия',
'Республика Коми',
'Республика Марий Эл',
'Республика Мордовия',
'Республика Саха',
'Республика Северная Осетия-Алания',
'Республика Татарстан',
'Республика Тыва',
'Удмуртская Республика',
'Республика Хакасия',
'Чеченская Республика',
'Чувашская Республика',
'Республика Крым' ]
region_1 = ['Амурская область',
'Архангельская область'
'Астраханская область',
'Белгородская область',
'Брянская область',
'Челябинская область',
'Воронежская область',
'Иркутская область',
'Ивановская область',
'Калининградская область',
'Калужская область',
'Кемеровская область',
'Кировская область',
'Костромская область',
'Курганская область',
'Курская область',
'Ленинградская область',
'Липецкая область',
'Магаданская область',
'Московская область',
'Мурманская область',
'Нижегородская область',
'Новгородская область',
'Новосибирская область',
'Омская область',
'Оренбургская область',
'Орловская область',
'Пензенская область',
'Псковская область',
'Ростовская область',
'Рязанская область',
'Сахалинская область',
'Самарская область',
'Саратовская область',
'Смоленская область',
'Свердловская область',
'Тамбовская область',
'Томская область',
'Тверская область',
'Тульская область',
'Тюменская область',
'Ульяновская область',
'Владимирская область',
'Волгоградская область',
'Вологодская область',
'Ярославская область']
edge = ['Алтайский край',
'Камчатский край',
'Хабаровский край',
'Краснодарский край',
'Красноярский край',
'Пермский край',
'Приморский край',
'Ставропольский край',
'Забайкальский край']
county_1 = ['Ненецкий автономный округ',
'Ханты-Мансийский автономный округ',
'Чукотский автономный округ',
'Ямало-Ненецкий автономный округ']
Aregion = ['Еврейская автономная область' ]
for i in new_df_filtred_exp['region']:
if i in citiRF:
new_df_filtred_exp['okrug'] = 'Города федерального значения РФ'
elif i in Republic:
for i in new_df_filtred_exp['region']:
if i in Republic:
new_df_filtred_exp['okrug'] = 'Республики'
elif i in region_1:
for i in new_df_filtred_exp['region']:
if i in region_1:
new_df_filtred_exp['okrug'] = 'Области'
elif i in edge:
for i in new_df_filtred_exp['region']:
if i in edge:
new_df_filtred_exp['okrug'] = 'Края РФ'
elif i in county_1:
for i in new_df_filtred_exp['region']:
if i in county_1:
new_df_filtred_exp['okrug'] = 'Автономные округа РФ'
elif i in Aregion:
for i in new_df_filtred_exp['region']:
if i in Aregion:
new_df_filtred_exp['okrug'] = 'Автономная область РФ'
else:
new_df_filtred_exp['okrug'] = 'nan'
new_df_filtred_exp
Подскажите что можно прочитать чтоб оптимизировать код?
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
Ocrugs = {
'Города федерального значения РФ': ['Москва','Санкт-Петербург','Севастополь '],
'Республики':['Республика Адыгея',
'Республика Алтай',
...
'Республика Крым' ],
'Области': ['Амурская область',
'Архангельская область'
...
'Ярославская область'],
'Края РФ': ['Алтайский край',
...
'Забайкальский край'],
'Автономные округа РФ': ['Ненецкий автономный округ',
...
'Ямало-Ненецкий автономный округ'],
'Автономная область РФ': ['Еврейская автономная область' ],
}
i = "Рязанская область"
for ocrug, lst in Ocrugs.items():
if i in lst:
print(ocrug)
break
else:
print('нет такого')