如何比较 pandas 中有和没有拼写重音的名字?

How to compare names with and without orthographic accent in pandas?

在 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

请问有没有比较忽略正字重音的方法?或者删除我正在分析的列中的拼写重音?

您可以像这样定义函数并将其应用于您的 DF:

import unidecode
def f(str):
    return (unidecode.unidecode(str))

perfis_deputados["nome_completo"].apply(f)