06 Desafío: hazlo tú mismo
En esta clase, aprendimos cómo manipular datos temporales usando datetime. Entendimos cómo transformar una columna a fecha y hora y luego manipular estos datos. Aun así, no todos los datos del conjunto inmuebles_disponibles.json fueron tratados.
Durante las clases de este curso, descubrimos cómo transformar y trabajar con valores numéricos, por ejemplo, eliminando valores numéricos dentro de un texto y transformándolos en un tipo numérico, como int64 o float64.
Sabiendo esto, en esta actividad te propongo transformar los datos de la columna precio del conjunto de datos inmuebles_disponibles.json al tipo numérico float64. Recordando que, antes de hacer esto, debes llenar los valores vacíos de la columna con un valor. Una sugerencia: reemplazar con el string '0.0'.
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
import numpy as np
datos = pd.read_json('inmuebles_disponibles.json')
datos['precio'] = datos['precio'].fillna('0.0')
datos['precio'] = (
datos['precio']
.str.replace(r'[^\d.]', '', regex=True)
.replace('', '0.0')
)
datos['precio'] = datos['precio'].astype('float64')
print(datos['precio'].dtype)
print(datos['precio'].head())
filas_con_precio = datos[datos['precio'] != 0.0]
print(f"Total de registros originales: {len(datos)}")
print(f"Registros con precio válido: {len(filas_con_precio)}")
print(filas_con_precio.head())