@CrimsonFox

Как удалить уникальные дубли?

Задача заключается в следующем - у меня есть два файла эксель и мне нужно провести между ними сравнение по одному из столбцов. В самом столбце название кампаний, из которых мне нужна только одна, но - её название пишут кто как и, соответственно, задача включает преобразование всего разнообразия к единому значению для возможности обработки.
И собственно вопрос в следующем - как мне взять всё это многообразие (а файлы на 70+к строк) и перебором или же какой-то из подфункций replace() преобразовать всё это. В качестве уточнения - перебирать всё и поштучно переименовывать - мазохизм, переименовать вообще всё тоже нельзя, а как написать аналог %like я в питоне как-то не нашел.
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 3
Vindicar
@Vindicar
RTFM!
Ну слушай, если пишут совсем кто как, то ничего не поделаешь. Как ты определишь, вариантом названия какой компании является текущее?

Да, можно использовать расстояние Левенштейна для поиска наиболее похожих строк, но и тогда нет гарантий, что пользователь не извратит название достаточно сильно.
Можно использовать регулярки из модуля re, но их придётся для каждой компании составлять вручную.

По хорошему-то вообще не стоит использовать названия как идентификатор, особенно вводимые пользователем. Но это скорее совет на будущее.
Ответ написан
Комментировать
Maksim_64
@Maksim_64
Data Analyst
читаешь оба файла в pandas фрейм. Затем сравниваешь, заменяешь, применяешь regex или все что тебе захочется.
для сравнения псевдо код будет такой. df1['колонка'] == df2['колонка']. Для замен да все что угодно методы, replace, where и т.д. В общем решай pandas'ом а там будут проблемы, сообрази игрушечный фрейм маленького размера, и приходи с ним поможем. Читать файл функцией read_excel.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
Вектор и Вектор+ - разные компании поэтому в общем виде задача не решается, решается только вот этими всеми ОКПО / ИНН и т.п.

но полуавтоматом - как описали выше - выбираешьт левенштейном похожие, конфирмишь, и заменяешь автоматом похожие на целевые, при должном подходе их никак не больше 20-50 штук
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы