Afegiu Dict a DataFrame a Pandas

Afegiu Dict A Dataframe A Pandas



Discutirem com afegir un diccionari al Pandas DataFrame existent utilitzant les funcions pandas.DataFrame.append() i pandas.concat() amb exemples. Aquí, el diccionari fa referència al parell clau:valor de manera que la clau fa referència a les etiquetes de columna existents que hi ha al DataFrame i els valors s'afegeixen en una fila. A més, veurem els exemples que afegeixen diversos diccionaris al Pandas DataFrame.

Utilitzant Pandas.DataFrame.Append

La funció pandas.DataFrame.append() s'utilitza per afegir les files d'un altre DataFrame al DataFrame existent. Si les columnes del DataFrame existent no existeixen, les altres columnes del DataFrame es creen al DataFrame existent. Utilitzeu aquesta funció de manera que la fila s'hagi d'inserir al DataFrame afegint el diccionari.

Sintaxi :







La sintaxi real de la funció pandas.DataFrame.append() és la següent:



pandes. DataFrame . adjuntar ( altres , ignora_índex , verificar_integritat , ordenar )
  1. altres : es refereix a un altre DataFrame en què les files d'aquest DataFrame s'afegeixen al DataFrame existent. Si voleu afegir una sola fila, heu de passar un diccionari de valors com a paràmetre.
  2. ignora_índex (per defecte = Fals): aquest paràmetre s'utilitza quan esteu afegint files al DataFrame que ja té files. Si és 'Fals', també s'afegeixen els índexs de files existents. Si és 'true', les files s'etiqueten de 0 a n-1. Assegureu-vos que aquest paràmetre estigui configurat en 'True' mentre afegiu un diccionari al DataFrame. En cas contrari, apareix un tipus d'error: 'TypeError: només es pot afegir un dictat si ignore_index=True'.
  3. Podem comprovar si hi ha índexs duplicats mitjançant el paràmetre verify_integrity (per defecte = Fals). Si els índexs estan duplicats i verifica_integrity s'estableix en 'True', retorna el 'ValueError: els índexs tenen valors superposats'.
  4. És possible ordenar les columnes si les columnes del DataFrame existent i d'un altre DataFrame no s'alineen mitjançant el paràmetre d'ordenació definint-lo a 'True' (per defecte = Fals).

Exemple 1: afegiu un únic diccionari

Creeu un Pandas DataFrame amb quatre columnes: 'Nom_campanya', 'Ubicació', 'Data d'inici' i 'Pressupost' - i tres files. Afegiu un diccionari a aquest DataFrame.



importar pandes

# Crea un marc de dades: campanya amb 4 columnes i 3 files
Campanya = pandes. DataFrame ( [ [ 'campament de màrqueting' , 'Índia' , '12/01/2023' , 8000 ] ,
[ 'Campo de vendes' , 'Itàlia' , '25/01/2022' , 10000 ] ,
[ 'Altre campament' , 'EUA' , '17/04/2023' , 2000 ] ] ,
columnes = [ 'Nom_campanya' , 'Ubicació' , 'Data d'inici' , 'Pressupost' ] )
imprimir ( Campanya , ' \n ' )

# Afegiu una sola fila
Campanya = Campanya. adjuntar ( { 'Nom_campanya' : 'Campament tècnic' , 'Ubicació' : 'EUA' , 'Data d'inici' : '12/05/2023' , 'Pressupost' : 2000 } , ignora_índex = És cert )
imprimir ( Campanya , ' \n ' )

Sortida :





Podem veure que el diccionari s'adjunta al DataFrame 'Campaign'. L'índex d'aquesta nova fila és 3, ja que s'ignora l'índex.



Exemple 2: afegiu diversos diccionaris

Utilitzeu el mateix DataFrame que es crea a l'exemple 1 i afegiu tres files alhora amb la funció pandas.DataFrame.append(). Estableix el paràmetre ignore_index a 'True'.

importar pandes

# Crea un marc de dades: campanya amb 4 columnes i 3 files
Campanya = pandes. DataFrame ( [ [ 'campament de màrqueting' , 'Índia' , '12/01/2023' , 8000 ] ,
[ 'Campo de vendes' , 'Itàlia' , '25/01/2022' , 10000 ] ,
[ 'Altre campament' , 'EUA' , '17/04/2023' , 2000 ] ] ,
columnes = [ 'Nom_campanya' , 'Ubicació' , 'Data d'inici' , 'Pressupost' ] )
imprimir ( Campanya , ' \n ' )

Campanya = Campanya. adjuntar ( { 'Nom_campanya' : 'Campament tècnic' , 'Ubicació' : 'EUA' , 'Data d'inici' : '12/05/2023' , 'Pressupost' : 2000 } , ignora_índex = És cert )
Campanya = Campanya. adjuntar ( { 'Nom_campanya' : 'campament de màrqueting' , 'Ubicació' : 'Índia' , 'Data d'inici' : '23/06/2023' , 'Pressupost' : 9000 } , ignora_índex = És cert )
Campanya = Campanya. adjuntar ( { 'Nom_campanya' : 'Campament de MSales' , 'Ubicació' : 'Itàlia' , 'Data d'inici' : '24/01/2023' , 'Pressupost' : 1200 } , ignora_índex = És cert )
imprimir ( Campanya )

Sortida :

S'afegeixen tres files una darrere l'altra amb 3, 4 i 5 índexs al DataFrame existent.

Utilitzant Pandas.Concat

La funció pandas.concat() concatena dos o més DataFrames al llarg de les files o columnes. Per tant, hem de transformar el diccionari al DataFrame i passar dos DataFrames a aquesta funció.

Sintaxi :

Afegiu un diccionari al DataFrame existent:

pandes. concat ( [ Existing_DataFrame , Diccionari_Transformat ] , eix = 0 , ignora_índex , verificar_integritat )
  1. Si eix = 0, la concatenació es fa al llarg de les files. La concatenació es fa al llarg de les columnes si s'estableix Aplicació de majúscules necessàries ja que es tracta d'un subtítol. S'ha afegit l'article necessari per a la brevetat.a 1.
  2. El ignore_index (per defecte = False): aquest paràmetre s'utilitza quan s'afegeixen les files al DataFrame que ja té files. Si és 'Fals', també s'afegeixen els índexs de files existents. Si és 'true', les files s'etiqueten de 0 a n-1.
  3. Podem comprovar si hi ha índexs duplicats mitjançant el paràmetre verify_integrity (per defecte = Fals). Si els índexs estan duplicats i verifica_integrity s'estableix en 'True', retorna el 'ValueError: els índexs tenen valors superposats'.

Exemple 1: afegiu un únic diccionari

Creeu un Pandas DataFrame amb quatre columnes: 'Nom_campanya', 'Ubicació', 'Data d'inici' i 'Pressupost' - i tres files. Amb la funció pandas.concat(), afegiu un diccionari (DataFrame) com a fila a aquest DataFrame.

importar pandes


# Crea un marc de dades: campanya amb 4 columnes i 3 files
Campanya = pandes. DataFrame ( [ [ 'campament de màrqueting' , 'Índia' , '12/01/2023' , 8000 ] ,
[ 'Campo de vendes' , 'Itàlia' , '25/01/2022' , 10000 ] ,
[ 'Altre campament' , 'EUA' , '17/04/2023' , 2000 ] ] ,
columnes = [ 'Nom_campanya' , 'Ubicació' , 'Data d'inici' , 'Pressupost' ] )
imprimir ( Campanya , ' \n ' )

Dictionary_from_DataFrame = pandes. DataFrame ( [ { 'Nom_campanya' : 'Campament de servei' , 'Ubicació' : 'EUA' , 'Data d'inici' : '17/04/2023' , 'Pressupost' : 1000 } ] )

# Afegiu una sola fila
Campanya = pandes. concat ( [ Campanya , Dictionary_from_DataFrame ] , eix = 0 )
imprimir ( Campanya , ' \n ' )

Sortida :

Podem veure que el diccionari s'adjunta al DataFrame 'Campaign'. L'índex d'aquesta nova fila és 0 ja que l'índex no s'ignora.

Exemple 2: afegiu diversos diccionaris

Utilitzeu el DataFrame anterior i afegiu tres diccionaris (DataFrame) ignorant l'índex.

importar pandes


# Crea un marc de dades: campanya amb 4 columnes i 3 files
Campanya = pandes. DataFrame ( [ [ 'campament de màrqueting' , 'Índia' , '12/01/2023' , 8000 ] ,
[ 'Campo de vendes' , 'Itàlia' , '25/01/2022' , 10000 ] ,
[ 'Altre campament' , 'EUA' , '17/04/2023' , 2000 ] ] ,
columnes = [ 'Nom_campanya' , 'Ubicació' , 'Data d'inici' , 'Pressupost' ] )
imprimir ( Campanya , ' \n ' )

Dictionary_from_DataFrame = pandes. DataFrame ( [ { 'Nom_campanya' : 'Tech Camp' , 'Ubicació' : 'EUA' , 'Data d'inici' : '17/05/2023' , 'Pressupost' : 1000 } ,
{ 'Nom_campanya' : 'Serveis Socials' , 'Ubicació' : 'Japó' , 'Data d'inici' : '17/04/2023' , 'Pressupost' : 200 } ,
{ 'Nom_campanya' : 'Campo de vendes' , 'Ubicació' : 'EUA' , 'Data d'inici' : '18/04/2023' , 'Pressupost' : 500 } ] )

# Afegiu diverses files
Campanya = pandes. concat ( [ Campanya , Dictionary_from_DataFrame ] , eix = 0 , ignora_índex = És cert )
imprimir ( Campanya , ' \n ' )

Sortida :

Podem veure que s'afegeixen tres diccionaris al DataFrame de 'Campanya'. Els índexs d'aquests diccionaris són 3, 4 i 5, ja que el paràmetre ignore_index està establert en 'False'.

Conclusió

Els diccionaris únics/múltiples s'afegeixen al DataFrame mitjançant les funcions pandas.DataFrame.append() i pandas.concat(). Els índexs de les noves files poden ser únics establint el paràmetre ignore_index a 'True' a la funció pandas.concat(). Mentre feu servir la funció pandas.DataFrame.append(), establiu el paràmetre ignore_index a 'True'. En cas contrari, es genera TypeError.