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