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!