Pandas: spaltenwerte basierend auf einem anderen dataframe aktualisieren


Häufig möchten Sie möglicherweise die Werte einer Spalte eines Pandas-DataFrames mithilfe der Werte eines anderen DataFrames aktualisieren.

Glücklicherweise ist dies mit der Funktion merge() in Pandas einfach zu bewerkstelligen.

Das folgende Beispiel zeigt, wie das geht.

Beispiel: Spaltenwerte in Pandas DataFrame basierend auf einem anderen DataFrame aktualisieren

Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:

 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

Gehen Sie nun davon aus, dass die Werte der Hilfsspalte in diesem DataFrame nicht aktualisiert werden.

Nehmen wir jedoch an, dass wir über den folgenden zweiten DataFrame verfügen, der aktualisierte Werte für die Hilfsspalte enthält:

 #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

Wir können die folgende Syntax verwenden, um die Hilfsspaltenwerte des ersten DataFrame mithilfe der Hilfsspaltenwerte des zweiten DataFrame zu aktualisieren:

 #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

Beachten Sie, dass die Hilfsspaltenwerte des ersten DataFrame mithilfe der Hilfsspaltenwerte des zweiten DataFrame aktualisiert wurden.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere häufige Aufgaben in Pandas ausgeführt werden:

So entfernen Sie die erste Zeile in Pandas DataFrame
So entfernen Sie die erste Spalte in Pandas DataFrame
So entfernen Sie doppelte Spalten in Pandas

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert