Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío Tokenización y error en python

Estimados profes,

seguí al pie de la letra el código del profe, incluyendo el del desafío y me aparece esto:

<>:4: SyntaxWarning: invalid escape sequence '-'
<>:5: SyntaxWarning: invalid escape sequence '\w'
<>:4: SyntaxWarning: invalid escape sequence '-'
<>:5: SyntaxWarning: invalid escape sequence '\w'
/tmp/ipython-input-1305974785.py:4: SyntaxWarning: invalid escape sequence '-'
datos['descripcion_vecindad'] = datos['descripcion_vecindad'].str.replace('[^a-zA-Z0-9-']', ' ', regex=True)
/tmp/ipython-input-1305974785.py:5: SyntaxWarning: invalid escape sequence '\w'
datos['descripcion_vecindad'] = datos['descripcion_vecindad'].str.replace('(?<!\w)-(?!\w)', '', regex=True)

es literalmente lo mismo. Saben si es esperable este mensaje?
Muchas gracias

1 respuesta

Hola Christopher,

¡Gracias por compartir tu duda! El mensaje de advertencia que estás viendo, SyntaxWarning: invalid escape sequence, se debe a que ciertas secuencias de escape en Python, como \w y \-, necesitan ser manejadas de manera diferente para evitar errores.

Para solucionar esto, puedes utilizar cadenas sin formato (raw strings) en Python, que se indican con una r antes de las comillas. Esto le dice a Python que trate la cadena tal como está, sin interpretar las secuencias de escape. Aquí tienes cómo podrías modificar tu código:

datos['descripcion_vecindad'] = datos['descripcion_vecindad'].str.replace(r'[^a-zA-Z0-9\-]', ' ', regex=True)
datos['descripcion_vecindad'] = datos['descripcion_vecindad'].str.replace(r'(?<!\w)-(?!\w)', '', regex=True)

Al usar r'...', te aseguras de que las secuencias de escape no sean interpretadas de manera incorrecta. Espero que esto resuelva el problema que estás enfrentando.

Espero haber ayudado y ¡buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!