• Как реализовать цикл удаление слов из строки в dataframe?

    @PavelMos
    1. Как записан населенный пункт в locality_name ? Если 'деревня Медвежья', то функция её не обработает, потому что if проверяет на совпадение с элементом списка целиком, а не деревню отдельно. Имхо проще не делать проверку дополнительную, а обрабатывать сразу всё подряд
    2. Нужно пробел/ы после удалённого слов/а убирать через lstrip или добавить пробел к словам в списке в регекспе,
    3. Добавить варианты Деревня, Город, Посёлок

    wordlist = ['Посёлок','Поселок','поселок','посёлок','городской','городского','типа','деревня','Деревня']
    
    def locality_id(row):
        name_id = row['locality_name']
        name_id = re.sub('(' + '|'.join(wordlist) + ')','',name_id).lstrip()
        return name_id
    
    
    for idx, row in df1.iterrows():
         print ('cell=', df1.loc[idx, 'locality_name'])
         df1.loc[idx, 'locality_name']=new_cell
         new_cell=locality_id(row)
         print ('new_cell=',df1.loc[idx, 'locality_name'])
    Ответ написан
    Комментировать