Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

315
Vistas
¿Cómo agregar diccionarios a un DataFrame como una fila?

Tengo un DataFrame con las siguientes columnas:

 columns = ['Autor', 'Preţul', 'Suprafaţa totală', 'Etaj', 'Etaje', 'Tipul casei', 'Tipul de camere','Numărul de camere','Starea apartamentului', 'Planificare', 'Tipul clădirii', 'Sectorul', 'Strada', 'Numărul casei'] df = pd.DataFrame(columns=columns)

Quiero agregar a este DataFrame una cantidad de diccionarios fila por fila, por ejemplo, para la primera fila quiero agregar este diccionario:

 {'Autor': nan, 'Balcon/lojă': '2', 'Etaj': '1', 'Grup sanitar': 'separat', 'Locul de amplasare în casă': 'In mijlocul casei', 'Numărul casei': nan, 'Numărul de camere': '4 şi mai multe camere', 'Parcare': 'deschisă', 'Preţul': nan, 'Sectorul': nan, 'Strada': nan, 'Suprafaţa totală': '90 m²', 'Tipul clădirii': 'Dat în exploatare'}

Los valores de las claves del diccionario que no están en las columnas de DataFrame deben establecerse como valores NaN . Los diccionarios tenían solo una parte de los nombres de las columnas como claves.

por ejemplo, el segundo dict:

 {'Autor': nan, 'Numărul casei': nan, 'Numărul de camere': '3 camere', 'Preţul': nan, 'Sectorul': nan, 'Strada': nan, 'Suprafaţa totală': '103 m²', 'Tipul clădirii': 'Dat în exploatare'}

Los diccionarios son el resultado de un bucle for y deben agregarse como una fila única.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Utilice el constructor alternativo pandas.DataFrame.from_dict . Cree sus "filas" en una lista para comenzar:

 In [22]: import numpy as np In [23]: nan = np.nan In [24]: rows = [] In [25]: rows.append({'Autor': nan, ...: 'Balcon/lojă': '2', ...: 'Etaj': '1', ...: 'Grup sanitar': 'separat', ...: 'Locul de amplasare în casă': 'In mijlocul casei', ...: 'Numărul casei': nan, ...: 'Numărul de camere': '4 şi mai multe camere', ...: 'Parcare': 'deschisă', ...: 'Preţul': nan, ...: 'Sectorul': nan, ...: 'Strada': nan, ...: 'Suprafaţa totală': '90 m²', ...: 'Tipul clădirii': 'Dat în exploatare'}) In [26]: rows.append({'Autor': nan, ...: 'Numărul casei': nan, ...: 'Numărul de camere': '3 camere', ...: 'Preţul': nan, ...: 'Sectorul': nan, ...: 'Strada': nan, ...: 'Suprafaţa totală': '103 m²', ...: 'Tipul clădirii': 'Dat în exploatare'})

Luego, solo asegúrese de pasar el argumento "orientar" apropiado:

 In [28]: pd.DataFrame.from_dict(rows, orient='columns') Out[28]: Autor Balcon/lojă Etaj Grup sanitar Locul de amplasare în casă \ 0 NaN 2 1 separat In mijlocul casei 1 NaN NaN NaN NaN NaN Numărul casei Numărul de camere Parcare Preţul Sectorul Strada \ 0 NaN 4 şi mai multe camere deschisă NaN NaN NaN 1 NaN 3 camere NaN NaN NaN NaN Suprafaţa totală Tipul clădirii 0 90 m² Dat în exploatare 1 103 m² Dat în exploatare

EDITAR

En realidad, acabo de notar que el constructor normal funciona bien y no necesita ningún argumento.

 In [31]: pd.DataFrame(rows) Out[31]: Autor Balcon/lojă Etaj Grup sanitar Locul de amplasare în casă \ 0 NaN 2 1 separat In mijlocul casei 1 NaN NaN NaN NaN NaN Numărul casei Numărul de camere Parcare Preţul Sectorul Strada \ 0 NaN 4 şi mai multe camere deschisă NaN NaN NaN 1 NaN 3 camere NaN NaN NaN NaN Suprafaţa totală Tipul clădirii 0 90 m² Dat în exploatare 1 103 m² Dat în exploatare
over 4 years ago · Santiago Trujillo Denunciar

0

Puede recorrer los diccionarios, agregar los resultados de cada diccionario a una lista y luego agregar la lista como una fila en el DataFrame.

 dflist = [] for dic in dictionarylist: rlist = [] for key in keylist: if dic[key] is None: rlist.append(None) else: rlist.append(dic[key]) dflist.append(rlist) df = pd.DataFrame(dflist)
over 4 years ago · Santiago Trujillo Denunciar

0

Si sus datos de dictado están en una columna DF, entonces lo siguiente funciona bien.

 recs = [] for index, row in df.iterrows(): val = ast.literal_eval(row[col_name]) recs.append(val) df2 = pd.DataFrame.from_dict(recs)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda