Come aggiungere due pandas dataframes (con esempio)


È possibile utilizzare la seguente sintassi di base per aggiungere i valori in due DataFrames panda:

 df3 = df1. add (df2, fill_value= 0 )

Ciò produrrà un nuovo DataFrame che contiene la somma degli elementi corrispondenti in ogni singolo DataFrame.

Se un elemento esiste in un DataFrame e non nell’altro, l’elemento esistente verrà utilizzato nel DataFrame risultante.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: come aggiungere due DataFrames Pandas

Supponiamo di avere i seguenti due DataFrames panda:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' points ': [18, 22, 19, 14, 11],
                    ' assists ': [5, 11, 7, 9, 12]})

#view first DataFrame
print (df1)

   assist points
0 18 5
1 22 11
2 19 7
3 14 9
4 11 12

#create second DataFrame
df2 = pd. DataFrame ({' points ': [10, 5, 4, 3, 9, 14],
                    ' assists ': [9, 7, 4, 2, 3, 3]})

#view second DataFrame
print (df2)

   assist points
0 10 9
1 5 7
2 4 4
3 3 2
4 9 3
5 14 3

Possiamo utilizzare la seguente sintassi per creare un nuovo DataFrame che prende la somma degli elementi corrispondenti in ogni singolo DataFrame:

 #create new DataFrame by adding two DataFrames
df3 = df1. add (df2, fill_value= 0 )

#view new DataFrame
print (df3)

   assist points
0 28.0 14.0
1 27.0 18.0
2 23.0 11.0
3 17.0 11.0
4 20.0 15.0
5 14.0 3.0

Si noti che il DataFrame risultante contiene la somma degli elementi corrispondenti in ogni singolo DataFrame.

Tieni presente che la riga con un valore di indice pari a 5 esisteva solo nel secondo DataFrame, quindi i valori in questa riga sono semplicemente i valori nel secondo DataFrame.

Tieni inoltre presente che da quando abbiamo effettuato l’aggiunta, ciascuno dei valori nel nuovo DataFrame è rappresentato come valori float con una cifra decimale.

Per riconvertire ciascuno di questi valori in un numero intero, possiamo utilizzare la funzione astype() :

 #convert all columns in new DataFrame to integer
df3 = df3. astype (' int64 ')

#view updated DataFrame
print (df3)

   assist points
0 28 14
1 27 18
2 23 11
3 17 11
4 20 15
5 14 3

Ciascuno dei valori nel nuovo DataFrame sono ora numeri interi.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni dei panda:

Panda: aggiungi una colonna da un DataFrame a un altro
Panda: ottieni righe che non si trovano in un altro DataFrame
Panda: come verificare se più colonne sono uguali

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *