So schreiben sie eine fallerklärung in pandas (mit beispiel)


Eine Case-Anweisung ist ein Anweisungstyp, der Bedingungen durchläuft und einen Wert zurückgibt, wenn die erste Bedingung erfüllt ist.

Der einfachste Weg, eine Case-Anweisung in einem Pandas DataFrame zu implementieren, ist die Verwendung der Funktion NumPywhere() , die die folgende grundlegende Syntax verwendet:

 df[' new_column '] = np. where (df[' col2 ']<9, 'value1',
                   n.p. where (df[' col2 ']<12, 'value2',
                   n.p. where (df[' col2 ']<15, 'value3', 'value4')))

Diese spezielle Funktion untersucht den Wert in der Spalte namens col2 und gibt Folgendes zurück:

  • Wert1 “, wenn der Wert in Spalte2 kleiner als 9 ist
  • Wert2 “, wenn der Wert in Spalte2 kleiner als 12 ist
  • Wert3 “, wenn der Wert in Spalte2 kleiner als 15 ist
  • Wert4 “, wenn keine der vorherigen Bedingungen wahr ist

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: case-Anweisung in Pandas

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' player ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' points ': [6, 8, 9, 9, 12, 14, 15, 17, 19, 22]})

#view DataFrame
df

	player points
0 1 6
1 2 8
2 3 9
3 4 9
4 5 12
5 6 14
6 7 15
7 8 17
8 9 19
9 10 22

Mit der folgenden Syntax können wir eine Case-Anweisung schreiben, die eine neue Spalte namens „ class“ erstellt, deren Werte durch die Werte in der Punktespalte bestimmt werden:

 #add 'class' column using case-statement logic
df[' class '] = np. where (df[' points ']<9, 'Bad',
              n.p. where (df[' points ']<12, 'OK',
              n.p. where (df[' points ']<15, 'Good', 'Great')))

#view updated DataFrame
df

	player points class
0 1 6 Bad
1 2 8 Bad
2 3 9 OK
3 4 9 OK
4 5 12 Good
5 6 14 Good
6 7 15 Great
7 8 17 Great
8 9 19 Great
9 10 22 Great

Die case-Anweisung untersuchte den Wert in der Punktespalte und gab Folgendes zurück:

  • Schlecht “, wenn der Wert in der Punktespalte kleiner als 9 war
  • OK “, wenn der Wert in der Punktespalte kleiner als 12 war
  • Gut “, wenn der Wert in der Punktespalte kleiner als 15 war
  • Großartig “, wenn keine der vorherigen Bedingungen zutrifft

Hinweis : Die vollständige Dokumentation zur NumPywhere()- Funktion finden Sie hier .

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in Pandas ausführen:

So erstellen Sie eine neue Spalte basierend auf einer Bedingung in Pandas
So verwenden Sie die Funktion NumPy Where() mit mehreren Bedingungen

Einen Kommentar hinzufügen

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