Aprendimos a manipular elementos textuales con el comando str. Luego, usamos expresiones regulares para limpiar elementos no deseados en el texto y, finalmente, transformamos el texto tratado en una lista, construyendo un token.
Durante las clases transformamos dos columnas descripcion_local y comodidades buscando la tokenización. Pero aún falta la columna descripcion_vecindad, que también merece la pena transformar.
Por lo tanto, en esta actividad te propongo realizar el proceso de tokenización para la columna descripcion_vecindad presente en el conjunto de datos datos_hosting.json.
No dudes en seguir los mismos pasos dados en clase o, si lo prefieres, realizar otras mejoras, como eliminar algunos caracteres o palabras vacías. En el apartado “Opinión del instructor” encontrarás una posible resolución para esta actividad.
import pandas as pd
df = pd.read_json('/content/datos_hosting.json')
print("ANTES:")
print(df['descripcion_vecindad'].head())
# Evitar errores por valores nulos
df['descripcion_vecindad'] = df['descripcion_vecindad'].fillna('')
# Minúsculas
df['descripcion_vecindad'] = df['descripcion_vecindad'].str.lower()
# Eliminar caracteres especiales (conservando números y letras)
df['descripcion_vecindad'] = df['descripcion_vecindad'].str.replace('[^a-zA-Z0-9\\-\\\']', ' ', regex=True)
# Eliminar guiones aislados
df['descripcion_vecindad'] = df['descripcion_vecindad'].str.replace('(?<!\\w)-(?!\\w)', '', regex=True)
# Tokenización
df['descripcion_vecindad'] = df['descripcion_vecindad'].str.split()
print("\nDESPUÉS:")
print(df['descripcion_vecindad'].head())