Panda: aggiorna i valori delle colonne in base a un altro dataframe


Spesso potresti voler aggiornare i valori di una colonna di un DataFrame panda utilizzando i valori di un altro DataFrame.

Fortunatamente, questo è facile da fare utilizzando la funzione merge() in Pandas.

L’esempio seguente mostra come eseguire questa operazione.

Esempio: aggiorna i valori delle colonne in Pandas DataFrame in base a un altro DataFrame

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                    ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                    ' assists ': [0, 0, 0, 1, 0, 0, 0, 1]})

#view DataFrame
print (df1)

  team points assists
0 to 18 0
1 B 22 0
2 C 19 0
3 D 14 1
4 E 14 0
5 F 11 0
6 G 20 0
7:28 a.m. 1

Supponiamo ora che i valori della colonna helper non vengano aggiornati in questo DataFrame.

Tuttavia, supponiamo di avere il seguente secondo DataFrame con valori aggiornati per la colonna helper :

 #create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                    ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                    ' assists ': [8, 7, 7, 4, 9, 12, 3, 5]})

#view second DataFrame
print (df2)

  team points assists
0 to 18 8
1 B 22 7
2 C 19 7
3 D 14 4
4 E 14 9
5 F 11 12
6 G 20 3
7:28 5

Possiamo utilizzare la seguente sintassi per aggiornare i valori della colonna helper del primo DataFrame utilizzando i valori della colonna helper del secondo DataFrame:

 #merge two DataFrames
df1 = df1. merge (df2, on=' team ', how=' left ')

#drop original DataFrame columns
df1. drop ([' points_x ', ' assists_x '], inplace= True , axis= 1 )

#rename columns
df1. rename (columns={' points_y ': ' points ', ' assists_y ': ' assists '}, inplace= True )

#view updated DataFrame
print (df1)

  team points assists
0 to 18 8
1 B 22 7
2 C 19 7
3 D 14 4
4 E 14 9
5 F 11 12
6 G 20 3
7:28 5

Tieni presente che i valori della colonna helper del primo DataFrame sono stati aggiornati utilizzando i valori della colonna helper del secondo DataFrame.

Risorse addizionali

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

Come rimuovere la prima riga in Pandas DataFrame
Come rimuovere la prima colonna in Pandas DataFrame
Come rimuovere le colonne duplicate in Pandas

Aggiungi un commento

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