1
resposta

[Sugestão] Outra resolução

Para o "Projeto desafio 1: vendas online" invés de aplicar a regex sugerida, apliquei a 2 regex quebradas por partes:

  • A primeira para eliminar os numeros:
vendas['Cliente'] = vendas['Cliente'].str.replace('[0-9]','', regex=True)
  • E uma segunda para eliminar o único caractere especial que tinha que era o '_':
vendas['Cliente'] = vendas['Cliente'].str.replace('_','',regex=True)

essa resolução em questão perderia em desempenho, certo? porque estaria aplicando 2 regex o que faria eu percorrer a string 2x, correto?

1 resposta

Boa noite, Lucas! Tudo bem com você?

Quando aplicamos duas operações de regex separadas, o Pandas precisa iterar sobre a coluna duas vezes, uma para cada operação. Isso pode ser menos eficiente do que usar uma única expressão regular que realize ambas as substituições de uma só vez, principalmente em grandes datasets. Para conjuntos de dados pequenos, essa diferença de desempenho é mínima, mas em cenários onde estamos lidando com bilhões de linhas, uma operação extra pode ter um impacto considerável no tempo de processamento. Exemplo de melhoria:

vendas['Cliente'] = vendas['Cliente'].str.replace('[0-9_]', '', regex=True)

A expressão '[0-9_]' procura por qualquer dígito de 0 a 9 ou o caractere de sublinhado _ e os substitui por uma string vazia, removendo-os em uma única passada. É sempre bom considerar o contexto e a necessidade de otimização com base no tamanho da base de dados.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado