Cómo convertir el diccionario Python en Pandas DataFrame

  1. Método para convertir el diccionario en Pandas DataFrame
  2. Método para convertir las claves en las columns y los valores en las filas del Pandas DataFrame
  3. pandas.DataFrame().from_dict() método para convertir el dict en DataFrame
Cómo convertir el diccionario Python en Pandas DataFrame

Introduciremos el método para convertir el diccionario de Python en el datafarme de Pandas, y opciones como tener values para las columns y values para los valores de las filas. También podríamos convertir el diccionario anidado en un DataFrame.

También introduciremos otra aproximación usando pandas.DataFrame.from_dict, y lo encadenaremos con cualquier método de rename para establecer los nombres del índice y las columnas de una sola vez.

Método para convertir el diccionario en Pandas DataFrame

Pandas DataFrame constructor pd.DataFrame() convierte el diccionario en DataFrame si los elementos del diccionario se dan como argumento del constructor, pero no el diccionario en sí.

# python 3.x import pandas as pd  fruit_dict = {3: "apple", 2: "banana", 6: "mango", 4: "apricot", 1: "kiwi", 8: "orange"}  print(pd.DataFrame(list(fruit_dict.items()), columns=["Quantity", "FruitName"])) 

Las claves y los valores del diccionario se convierten en dos columnas del DataFrame con los nombres de las columnas como se indica en las opciones columns.

 Quantity FruitName 0 3 apple 1 2 banana 2 6 mango 3 4 apricot 4 1 kiwi 5 8 orange 

Método para convertir las claves en las columns y los valores en las filas del Pandas DataFrame

Podemos simplemente poner corchetes alrededor del diccionario y quitar el nombre de la columna del código anterior de esta manera:

import pandas as pd  fruit_dict = {1: "apple", 2: "banana", 3: "mango", 4: "apricot", 5: "kiwi", 6: "orange"}  print(pd.DataFrame([fruit_dict])) 

Producción :

 1 2 3 4 5 6 0 apple banana mango apricot kiwi orange 

Usaremos pandas comprensión de diccionario con concat para combinar todos los diccionarios y luego pasaremos la lista para dar nuevos nombres de columna.

Considere el siguiente código,

import pandas as pd  data = {"1": {"apple": 11, "banana": 18}, "2": {"apple": 16, "banana": 12}} df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index() df.columns = ["dict_index", "name", "quantity"] print(df) 

Producción :

 dict_index name quantity 0 1 apple 11 1 1 banana 18 2 2 apple 16 3 2 banana 12 

pandas.DataFrame().from_dict() método para convertir el dict en DataFrame

Usaremos from_dict para convertir dict en DataFrame, aquí establecemos orient='index' para usar las claves del diccionario como filas y aplicar el método rename() para cambiar el nombre de la columna.

Considere el siguiente código,

import pandas as pd  print(  pd.DataFrame.from_dict(  {"apple": 3, "banana": 5, "mango": 7, "apricot": 1, "kiwi": 8, "orange": 3},  orient="index",  ).rename(columns={0: "Qunatity"}) ) 

Producción :

 Quantity apple 3 banana 5 mango 7 apricot 1 kiwi 8 orange 3 
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete

Artículo relacionado - Pandas DataFrame