Pandas: formel für „wenn wert in spalte dann“


Sie können in Pandas die folgende Syntax verwenden, um einer Spalte Werte basierend auf den Werten einer anderen Spalte zuzuweisen:

 df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')

Diese spezielle Syntax erstellt eine neue Spalte mit dem Namen „new“, die die folgenden Werte annimmt:

  • new1 , wenn der Wert in Spalte gleich A ist.
  • new2 , wenn der Wert in Spalte gleich B ist.
  • Eine leere Zeichenfolge, wenn der Wert in Spalte einem anderen Wert entspricht.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Verwenden einer Formel für „Wenn Wert in Spalte Dann“ in Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C'],
                   ' points ': [14, 22, 25, 34, 30, 12, 10, 18]})

#view DataFrame
print (df)

  team points
0 to 14
1 to 22
2 to 25
3 to 34
4 B 30
5 B 12
6 C 10
7 C 18

Nehmen wir nun an, wir möchten eine neue Spalte mit dem Namen „Stadt“ erstellen, deren Werte vom entsprechenden Wert in der Teamspalte abhängen.

Wir können dazu die folgende Syntax verwenden:

 #create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')

#view updated DataFrame                            
print (df)

  team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10         
7 C 18       

Durch diese spezielle Syntax wurde eine neue Spalte namens „city“ erstellt, die die folgenden Werte annimmt:

  • Atlanta , wenn der Teamwert gleich A ist.
  • Boston , wenn der Teamwert B ist.
  • Eine leere Zeichenfolge, wenn der Wert in Team einem anderen Wert entspricht.

Beachten Sie, dass wir in diesem Beispiel nach der letzten else- Anweisung eine leere Zeichenfolge verwendet haben, um Werte, die keine Bedingungen erfüllten, einfach leer zu lassen.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

Pandas: Index der Zeilen abrufen, deren Spalte mit dem Wert übereinstimmt
Pandas: So wählen Sie Spalten aus, die eine bestimmte Zeichenfolge enthalten
Pandas: So überprüfen Sie, ob die Spalte eine Zeichenfolge enthält

Einen Kommentar hinzufügen

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