Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Error en expansión de la columna tienda y ítem no muestra la tabla y con la barra deslizadora

Hola Si me pueden colaborar, sigo los pasos hasta acá bien, Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadcuando quiero expandir las columnas item y tienda sigo los pasos y revise solo muestra unas pocas columnas no muestra como el profe en el video toda la tabla que podría ser configuración de Google colab no he podido Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

Resuelto use esto para mirar el json :

import pandas as pd import numpy as np

Ajustar la configuración de pandas para mostrar todas las columnas

pd.set_option('display.max_columns', None)

url = 'https://gist.githubusercontent.com/ahcamachod/24a6235f7cdf255501b5ab4f9b0fd97f/raw/fa329f6d6c1b6b00b3ba457cdc850b53210633ca/zoop_market.json'

Leer el JSON desde la URL

df = pd.read_json(url)

Verificar las primeras filas del DataFrame original

print("DataFrame original:") print(df.head())

Verificar el contenido de las columnas 'item' y 'tienda'

print("\nContenido de la columna 'item':") print(df['item'].head())

print("\nContenido de la columna 'tienda':") print(df['tienda'].head())

Verificar si las columnas 'item' y 'tienda' contienen datos JSON válidos

if isinstance(df['item'].iloc[0], dict) and isinstance(df['tienda'].iloc[0], dict): print("\nLas columnas 'item' y 'tienda' contienen datos JSON válidos.")

# Expande la columna 'item' y convierte los datos JSON en columnas
item_df = pd.json_normalize(df['item'])

# Expande la columna 'tienda' y convierte los datos JSON en columnas
tienda_df = pd.json_normalize(df['tienda'])

# Elimina las columnas originales 'item' y 'tienda' del DataFrame
df = df.drop(columns=['item', 'tienda'])

# Concatenar las columnas expandidas al DataFrame original
df = pd.concat([df, item_df, tienda_df], axis=1)

# Mostrar las primeras filas del DataFrame resultante
print("\nDataFrame resultante:")
print(df.head())

else: print("\nLas columnas 'item' y 'tienda' NO contienen datos JSON válidos.")

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad muestra esto: luego se corrige el código con DeepSeek:

import pandas as pd import ast # Para convertir cadenas en diccionarios

url = 'https://gist.githubusercontent.com/ahcamachod/24a6235f7cdf255501b5ab4f9b0fd97f/raw/fa329f6d6c1b6b00b3ba457cdc850b53210633ca/zoop_market.json'

Leer el JSON desde la URL

df = pd.read_json(url)

Verificar las primeras filas del DataFrame original

print("DataFrame original:") print(df.head())

Convertir las cadenas JSON en diccionarios

df['item'] = df['item'].apply(ast.literal_eval) # Convierte la columna 'item' df['tienda'] = df['tienda'].apply(ast.literal_eval) # Convierte la columna 'tienda'

Verificar el tipo de datos de las columnas 'item' y 'tienda'

print("\nTipo de datos después de la conversión:") print("Tipo de 'item':", type(df['item'].iloc[0])) print("Tipo de 'tienda':", type(df['tienda'].iloc[0]))

Expande la columna 'item' y convierte los datos JSON en columnas

item_df = pd.json_normalize(df['item'])

Expande la columna 'tienda' y convierte los datos JSON en columnas

tienda_df = pd.json_normalize(df['tienda'])

Elimina las columnas originales 'item' y 'tienda' del DataFrame

df = df.drop(columns=['item', 'tienda']) df = df.drop(columns=['index'])

Concatenar las columnas expandidas al DataFrame original

df = pd.concat([df, item_df, tienda_df], axis=1)

Mostrar las primeras filas del DataFrame resultante

print("\nDataFrame resultante:")

print(df.head())

df.info()

Filtrar solo las columnas numéricas

df_numeric = df.select_dtypes(include='number')

Ver estadísticas descriptivas solo para columnas numéricas

print(df_numeric.describe()) df.info() Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidada también elimine la columna índex por qué no le salía en el video al profe.

Hola Diego,

Parece que el problema que estás enfrentando puede estar relacionado con la forma en que Google Colab está mostrando las tablas. A veces, Colab no muestra todas las columnas por defecto para ahorrar espacio. Aquí tienes algunas sugerencias para intentar resolverlo:

  1. Ajustar la configuración de visualización de pandas: Puedes aumentar el número de columnas que se muestran por defecto usando el siguiente código:

    pd.set_option('display.max_columns', None)
    

    Esto hará que pandas muestre todas las columnas disponibles.

  2. Verificar el DataFrame completo: Si deseas ver todo el contenido del DataFrame, puedes convertirlo en una lista o usar to_string():

    print(df.to_string())
    
  3. Asegúrate de que las columnas se estén concatenando correctamente: Verifica que las columnas se estén concatenando adecuadamente después de la normalización:

    item_df = pd.json_normalize(df['item'])
    tienda_df = pd.json_normalize(df['tienda'])
    df = pd.concat([df.drop(['item', 'tienda'], axis=1), item_df, tienda_df], axis=1)
    
  4. Revisar la barra deslizadora: Asegúrate de que la barra deslizadora esté completamente hacia la derecha para ver todas las columnas.

Espero que estos pasos te ayuden a visualizar correctamente todas las columnas de tu DataFrame. ¡Bons estudios!

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