Olá, Victor! Como vai?
Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.
No desafio 1, você desenvolveu um código que cumpre com a proposta de transformar os textos da coluna Cliente em letras minúsculas sem caracteres especiais e números, fazendo bom uso dos métodos lower() e replace(). Você também compreendeu bem o argumento regex=True para criar uma busca de texto avançada.
Uma outra maneira de fazê-lo seria dar um espaço ao invés de usar o \s para representar o caractere de espaço em branco, também seria interessante usar o método strip() para remover possíveis espaços em branco do início e do fim de uma string, por garantia. Ficando assim o código:
vendas_clientes['Cliente'] = vendas_clientes['Cliente'].str.lower().str.replace('[^a-zA-ZÀ-ÿ ]', '', regex=True).str.strip()
Resultado:
| Cliente |
|---|
| 0 | ana lucia |
| 1 | diego armandiu |
| 2 | diego armandiu |
| 3 | diego armandiu |
| 4 | isabely joanes |
| 5 | isabely joanes |
| 6 | isabely joanes |
| 7 | isabely joanes |
| 8 | isabely joanes |
| 9 | joo gabriel |
| 10 | julya meireles |
| 11 | julya meireles |
| 12 | julya meireles |
| 13 | maria julia |
| 14 | maria julia |
| 15 | maria julia |
| 16 | maria julia |
| 17 | pedro pasco |
| 18 | paulo castro |
| 19 | thiago fritzz |
No desafio 2, mais uma vez mostrou domínio do método replace() com o regex e explorou o uso das barras invertidas (\\) para captar corretamente os parênteses na expressão. Uma curiosidade, é que você poderia usar apenas uma barra invertida se aplicasse uma raw string (r''), assim:
locacao_imoveis['apartamento'] = locacao_imoveis['apartamento'].str.replace(r' \(blocoAP\)', '', regex=True)
Resultado:
| apartamento |
|---|
| 0 | A101 |
| 1 | A101 |
| 2 | A102 |
| 3 | A102 |
| 4 | B201 |
| 5 | B201 |
| 6 | B202 |
| 7 | B202 |
| 8 | C301 |
| 9 | C301 |
| 10 | C302 |
| 11 | C302 |
| 12 | D401 |
| 13 | D401 |
| 14 | D402 |
| 15 | D402 |
| 16 | E501 |
| 17 | E501 |
| 18 | E502 |
| 19 | E502 |
| 20 | F601 |
| 21 | F601 |
| 22 | F602 |
| 23 | F602 |
| 24 | G701 |
| 25 | G701 |
| 26 | G702 |
| 27 | G702 |
| 28 | H801 |
| 29 | H801 |
Em suma, a raw string não interpreta a barra invertida (\) como um caractere especial, implicando na leitura correta dos parênteses na expressão. Mais uma vez apontando para a máxima que, na programação, sempre existirão várias formas de se obter o mesmo resultado.
Para saber mais:
Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:
Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!