Как сравнить имена с и без орфографического акцента в пандах?
В Python 3 и pandas у меня есть датафрейм с полными именами. Моя кодировка по умолчанию - utf-8. Названия на португальском языке, поэтому они имеют акцентуацию правописания
perfis_deputados.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 513 entries, 0 to 512
Data columns (total 10 columns):
data_nascimento 513 non-null object
e_mail 513 non-null object
link_api 513 non-null object
link_foto 513 non-null object
nome_completo 513 non-null object
nome_eleitoral 513 non-null object
partido 513 non-null object
sexo 513 non-null object
telefone 513 non-null object
uf 513 non-null object
dtypes: object(10)
memory usage: 40.2+ KB
Столбцы "nome_completo" и "nome_eleitoral" имеют следующие случаи:
AELTON JOSÉ DE FREITAS
JOÃO ALBERTO FRAGA SILVA
ALTINEU CÔRTES
Мне нужно сравнить этот датафрейм с другим - сравнить имена. Но у этого второго информационного кадра есть имена без орфографического акцента. Так имена выглядят так, например,
AELTON JOSE DE FREITAS
JOAO ALBERTO FRAGA SILVA
ALTINEU CORTES
Пожалуйста, есть ли способ сравнить игнорирование орфографического акцентирования? Или уберите орфографический акцент в колонке, которую я анализирую?
1 ответ
Решение
Вы можете определить и применить функцию к вашему DF следующим образом:
import unidecode
def f(str):
return (unidecode.unidecode(str))
perfis_deputados["nome_completo"].apply(f)