El Archivo "datos_hosting.json" en sus columnas 'cantidad_baños','cantidad_cuartos','cantidad_camas' son listas por lo que la conversión a datos int64. No es posible en la manera que enseña el profesor.
Arroja error
El Archivo "datos_hosting.json" en sus columnas 'cantidad_baños','cantidad_cuartos','cantidad_camas' son listas por lo que la conversión a datos int64. No es posible en la manera que enseña el profesor.
Arroja error
¡Hola John!
Entiendo que estás teniendo problemas al intentar convertir las columnas 'cantidad_baños', 'cantidad_cuartos' y 'cantidad_camas' de tu archivo "datos_hosting.json" a datos numéricos de tipo int64, debido a que estas columnas contienen listas.
Para solucionar este problema, primero necesitas asegurarte de que cada celda de estas columnas contenga un solo valor numérico en lugar de una lista. Aquí te dejo un ejemplo de cómo podrías hacerlo:
import pandas as pd
# Cargar datos desde el archivo JSON
df = pd.read_json("datos_hosting.json")
print(df['cantidad_baños'].head())
df['cantidad_baños'] = df['cantidad_baños'].apply(lambda x: x[0] if isinstance(x, list) else x)
df['cantidad_cuartos'] = df['cantidad_cuartos'].apply(lambda x: x[0] if isinstance(x, list) else x)
df['cantidad_camas'] = df['cantidad_camas'].apply(lambda x: x[0] if isinstance(x, list) else x)
df['cantidad_baños'] = df['cantidad_baños'].astype('int64')
df['cantidad_cuartos'] = df['cantidad_cuartos'].astype('int64')
df['cantidad_camas'] = df['cantidad_camas'].astype('int64')
Este enfoque asume que cada lista tiene al menos un elemento y que el primer elemento es el que deseas convertir. Si tus listas son más complejas o necesitas un valor diferente, deberás ajustar la lógica de extracción.
Espero haber aclarado tu duda. ¡Espero que esto te ayude y buenos estudios!