Aggiungi Dict a DataFrame in Panda

Aggiungi Dict A Dataframe In Panda



Discuteremo come aggiungere un dizionario al DataFrame Pandas esistente utilizzando le funzioni pandas.DataFrame.append() e pandas.concat() con esempi. Qui, il dizionario fa riferimento alla coppia chiave:valore in modo tale che la chiave si riferisca alle etichette di colonna esistenti presenti nel DataFrame e i valori vengano aggiunti in una riga. Inoltre, vedremo gli esempi che aggiungono più dizionari al DataFrame di Pandas.

Utilizzando Pandas.DataFrame.Append

La funzione pandas.DataFrame.append() viene utilizzata per aggiungere le righe di un altro DataFrame al DataFrame esistente. Se le colonne nel DataFrame esistente non esistono, le altre colonne DataFrame vengono create nel DataFrame esistente. Utilizzare questa funzione in modo tale che la riga debba essere inserita nel DataFrame aggiungendo il dizionario.

Sintassi :







Quella che segue è la sintassi effettiva della funzione pandas.DataFrame.append():



panda. DataFrame . aggiungere ( altro , ignora_indice , verificare_integrità , ordinare )
  1. altro : si riferisce a un altro DataFrame in cui le righe di questo DataFrame vengono aggiunte al DataFrame esistente. Se vuoi aggiungere una singola riga, devi passare un dizionario di valori come parametro.
  2. ignora_indice (per impostazione predefinita = False): questo parametro viene utilizzato quando si aggiungono righe al DataFrame che contiene già righe. Se è 'False', vengono aggiunti anche gli indici delle righe esistenti. Se è 'Vero', le righe sono etichettate da 0 a n-1. Assicurati che questo parametro sia impostato su 'True' mentre aggiungi un dizionario al DataFrame. Altrimenti, viene generato un tipo di errore: 'TypeError: può solo aggiungere un dict se ignore_index=True'.
  3. Possiamo verificare la presenza di indici duplicati utilizzando il parametro verify_integrity (per impostazione predefinita = False). Se gli indici sono duplicati e verify_integrity è impostato su 'True', restituisce 'ValueError: gli indici hanno valori sovrapposti'.
  4. È possibile ordinare le colonne se le colonne del DataFrame esistente e di un altro DataFrame non sono allineate utilizzando il parametro sort impostandolo su “True” (di default = False).

Esempio 1: aggiungi un dizionario singolo

Crea un DataFrame Pandas con quattro colonne: 'Campaign_Name', 'Location', 'StartDate' e 'Budget' e tre righe. Aggiungi un dizionario a questo DataFrame.



importare panda

# Crea DataFrame: campagna con 4 colonne e 3 righe
Campagna = panda. DataFrame ( [ [ 'Campo di marketing' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Campo vendite' , 'Italia' , '25/01/2022' , 10000 ] ,
[ 'Altro campo' , 'STATI UNITI D'AMERICA' , '17/04/2023' , 2000 ] ] ,
colonne = [ 'Nome della campagna' , 'Posizione' , 'Data d'inizio' , 'Bilancio' ] )
stampa ( Campagna , ' \N ' )

# Aggiungi riga singola
Campagna = Campagna. aggiungere ( { 'Nome della campagna' : 'Campo tecnico' , 'Posizione' : 'STATI UNITI D'AMERICA' , 'Data d'inizio' : '05/12/2023' , 'Bilancio' : 2000 } , ignora_indice = VERO )
stampa ( Campagna , ' \N ' )

Produzione :





Possiamo vedere che il dizionario è aggiunto al DataFrame 'Campaign'. L'indice di questa nuova riga è 3 poiché l'indice viene ignorato.



Esempio 2: aggiungere più dizionari

Utilizza lo stesso DataFrame creato nell'esempio 1 e aggiungi tre righe alla volta utilizzando la funzione pandas.DataFrame.append(). Imposta il parametro ignore_index su 'True'.

importare panda

# Crea DataFrame: campagna con 4 colonne e 3 righe
Campagna = panda. DataFrame ( [ [ 'Campo di marketing' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Campo vendite' , 'Italia' , '25/01/2022' , 10000 ] ,
[ 'Altro campo' , 'STATI UNITI D'AMERICA' , '17/04/2023' , 2000 ] ] ,
colonne = [ 'Nome della campagna' , 'Posizione' , 'Data d'inizio' , 'Bilancio' ] )
stampa ( Campagna , ' \N ' )

Campagna = Campagna. aggiungere ( { 'Nome della campagna' : 'Campo tecnico' , 'Posizione' : 'STATI UNITI D'AMERICA' , 'Data d'inizio' : '05/12/2023' , 'Bilancio' : 2000 } , ignora_indice = VERO )
Campagna = Campagna. aggiungere ( { 'Nome della campagna' : 'Campo di marketing' , 'Posizione' : 'India' , 'Data d'inizio' : '23/06/2023' , 'Bilancio' : 9000 } , ignora_indice = VERO )
Campagna = Campagna. aggiungere ( { 'Nome della campagna' : 'Campo di vendita' , 'Posizione' : 'Italia' , 'Data d'inizio' : '24/01/2023' , 'Bilancio' : 1200 } , ignora_indice = VERO )
stampa ( Campagna )

Produzione :

Tre righe vengono aggiunte una dopo l'altra con gli indici 3, 4 e 5 al DataFrame esistente.

Utilizzando Pandas.Concat

La funzione pandas.concat() concatena due o più DataFrames lungo le righe o le colonne. Quindi, dobbiamo trasformare il dizionario in DataFrame e passare due DataFrame a questa funzione.

Sintassi :

Aggiungi un dizionario al DataFrame esistente:

panda. concat ( [ Frame dati_esistente , Dizionario_trasformato ] , asse = 0 , ignora_indice , verificare_integrità )
  1. Se asse = 0, la concatenazione avviene lungo le righe. La concatenazione avviene lungo le colonne se è impostata l'applicazione delle maiuscole necessarie poiché si tratta di una sottovoce. Aggiunto articolo necessario per brevità.to 1.
  2. Il ignore_index (per impostazione predefinita = False): questo parametro viene utilizzato quando si aggiungono le righe al DataFrame che contiene già righe. Se è 'False', vengono aggiunti anche gli indici delle righe esistenti. Se è 'Vero', le righe sono etichettate da 0 a n-1.
  3. Possiamo verificare la presenza di indici duplicati utilizzando il parametro verify_integrity (per impostazione predefinita = False). Se gli indici sono duplicati e verify_integrity è impostato su 'True', restituisce 'ValueError: gli indici hanno valori sovrapposti'.

Esempio 1: aggiungi un dizionario singolo

Crea un DataFrame Pandas con quattro colonne: 'Campaign_Name', 'Location', 'StartDate' e 'Budget' e tre righe. Utilizzando la funzione pandas.concat(), aggiungi un dizionario (DataFrame) come riga a questo DataFrame.

importare panda


# Crea DataFrame: campagna con 4 colonne e 3 righe
Campagna = panda. DataFrame ( [ [ 'Campo di marketing' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Campo vendite' , 'Italia' , '25/01/2022' , 10000 ] ,
[ 'Altro campo' , 'STATI UNITI D'AMERICA' , '17/04/2023' , 2000 ] ] ,
colonne = [ 'Nome della campagna' , 'Posizione' , 'Data d'inizio' , 'Bilancio' ] )
stampa ( Campagna , ' \N ' )

dizionario_da_DataFrame = panda. DataFrame ( [ { 'Nome della campagna' : 'Campo di servizio' , 'Posizione' : 'STATI UNITI D'AMERICA' , 'Data d'inizio' : '17/04/2023' , 'Bilancio' : 1000 } ] )

# Aggiungi riga singola
Campagna = panda. concat ( [ Campagna , dizionario_da_DataFrame ] , asse = 0 )
stampa ( Campagna , ' \N ' )

Produzione :

Possiamo vedere che il dizionario è aggiunto al DataFrame 'Campaign'. L'indice di questa nuova riga è 0 poiché l'indice non viene ignorato.

Esempio 2: aggiungere più dizionari

Utilizza il DataFrame precedente e aggiungi tre dizionari (DataFrame) ignorando l'indice.

importare panda


# Crea DataFrame: campagna con 4 colonne e 3 righe
Campagna = panda. DataFrame ( [ [ 'Campo di marketing' , 'India' , '01/12/2023' , 8000 ] ,
[ 'Campo vendite' , 'Italia' , '25/01/2022' , 10000 ] ,
[ 'Altro campo' , 'STATI UNITI D'AMERICA' , '17/04/2023' , 2000 ] ] ,
colonne = [ 'Nome della campagna' , 'Posizione' , 'Data d'inizio' , 'Bilancio' ] )
stampa ( Campagna , ' \N ' )

dizionario_da_DataFrame = panda. DataFrame ( [ { 'Nome della campagna' : 'Campo tecnologico' , 'Posizione' : 'STATI UNITI D'AMERICA' , 'Data d'inizio' : '17/05/2023' , 'Bilancio' : 1000 } ,
{ 'Nome della campagna' : 'Servizi sociali' , 'Posizione' : 'Giappone' , 'Data d'inizio' : '17/04/2023' , 'Bilancio' : 200 } ,
{ 'Nome della campagna' : 'Campo vendite' , 'Posizione' : 'STATI UNITI D'AMERICA' , 'Data d'inizio' : '18/04/2023' , 'Bilancio' : 500 } ] )

# Aggiungi più righe
Campagna = panda. concat ( [ Campagna , dizionario_da_DataFrame ] , asse = 0 , ignora_indice = VERO )
stampa ( Campagna , ' \N ' )

Produzione :

Possiamo vedere che tre dizionari sono aggiunti al DataFrame 'Campaign'. Gli indici di questi dizionari sono 3, 4 e 5 poiché il parametro ignore_index è impostato su 'False'.

Conclusione

I dizionari singoli/multipli vengono aggiunti al DataFrame utilizzando le funzioni pandas.DataFrame.append() e pandas.concat(). Gli indici delle nuove righe possono essere univoci impostando il parametro ignore_index su 'True' nella funzione pandas.concat(). Durante l'utilizzo della funzione pandas.DataFrame.append(), impostare il parametro ignore_index su 'True'. Altrimenti viene sollevata l'eccezione TypeError.