Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida com letras maiusculas, minusculas e acentos

Por exemplo no momento que fez a seleção dos imóveis classificados como tipo: Casa, Casa de Condomínio e Casa de Vila, ao fazer um teste trocando as letras maiúsculas por minúsculas e removendo o acento, o Pandas não considera a igualdade verdadeira, e faz sentido. No entanto, na vida real o conjunto de dados nem sempre vem certinho, vamos encontrar a palavra Casa escrita como casa ou CASA, assim como a mesma palavra pode aparecer acentuada e não acentuada. Considerando isso, como posso fazer essa seleção ignorando o case sensitive e os acentos?

1 resposta
solução!

Olá Marcelo tudo bem com você??

Com o Pandas podemos tratar o DF a fim de minimizar essas diferenças, mas não existe algo muito direto como solução. Sugiro seguir esses passos:

Primeiramente vamos deixar seu DF todo em minúsculas

In [16]: s = pd.Series(['A', 'B', 'C', 'Aaba', 'Baca', np.nan, 'CABA', 'dog', 'cat'],
   ....:               dtype="string")
   ....: 

In [17]: s.str.lower()
Out[17]: 
0       a
1       b
2       c
3    aaba
4    baca
5    <NA>
6    caba
7     dog
8     cat
dtype: string

Depois poderemos montar uma sequência com as exceções que você deseja, referente as acentuações ou caracteres especiais:

spec_chars = ["!",'"',"#","%","&","'","(",")",
              "*","+",",","-",".","/",":",";","<",
              "=",">","?","@","[","\\","]","^","_",
              "`","{","|","}","~","–"]
for char in spec_chars:
    df['title'] = df['title'].str.replace(char, ' ')

No exemplo que dei, basta substituir por "á", "à","ã" é assim por diante e colocar a referência str.replace(char, 'a'). Trabalhoso, mas funciona. As informações foram retiradas da documentação oficial do Pandas, segue o LINK para futuras consultas! =)

Deixo também a sugestão do nosso artigo sobre o assunto!

Manipulação de Dados com Pandas

Espero ter te ajudado e qualquer coisa é só retornar aqui!