Olá, Gabriel, tudo bem?
Essa mensagem de SyntaxWarning ocorre porque, nas versões mais recentes do Python (3.12+), o interpretador ficou mais rigoroso com o uso da barra invertida (\).
Em strings comuns, o Python tenta interpretar sequências como \- como comandos especiais (como o \n para pular linha). Como \- não é um comando válido, ele emite o aviso informando que aquela barra invertida será tratada como um caractere literal, mas que isso pode virar um erro no futuro.
Como resolver?
Existem duas formas principais de corrigir isso:
Usar Raw Strings
Adicione o prefixo r antes das aspas. Isso indica ao Python que a string é "bruta" (raw) e que ele não deve tentar interpretar as barras invertidas.
dados['descricao_local'] = dados['descricao_local'].str.replace(r'[^a-zA-Z0-9\-\']', ' ', regex=True)
Ou duplicar a barra invertida
Você pode usar duas barras \\. Assim, a primeira "escapa" a segunda, indicando que você quer apenas o caractere literal da barra.
dados['descricao_local'] = dados['descricao_local'].str.replace('[^a-zA-Z0-9\\-\']', ' ', regex=True)
✨Dica: Sempre que trabalhar com Regex no Python, prefira a primeira opção (r''). Ela deixa o código mais limpo e evita confusões conforme a expressão cresce.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!