So verwenden sie die funktion where() in pandas (mit beispielen)


Mit der Funktion Where() können bestimmte Werte in einem Pandas-DataFrame ersetzt werden.

Diese Funktion verwendet die folgende grundlegende Syntax:

 df. where (cond, other=nan)

Für jeden Wert in einem Pandas-DataFrame, bei dem cond True ist, wird der ursprüngliche Wert beibehalten.

Für jeden Wert, bei dem cond False ist, wird der ursprüngliche Wert durch den durch das andere Argument angegebenen Wert ersetzt.

Die folgenden Beispiele zeigen, wie diese Syntax in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd

#define DataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Beispiel 1: Werte im gesamten DataFrame ersetzen

Der folgende Code zeigt, wie Sie mit der Funktion Where() alle Werte, die eine bestimmte Bedingung in einem gesamten Pandas-DataFrame nicht erfüllen, durch einen NaN-Wert ersetzen.

 #keep values that are greater than 7, but replace all others with NaN
df. where (df>7)

	points assists rebounds
0 25 NaN 11.0
1 12 NaN 8.0
2 15 NaN 10.0
3 14 9.0 NaN
4 19 12.0 NaN
5 23 9.0 NaN
6 25 9.0 9.0
7 29 NaN 12.0

Wir können auch das andere Argument verwenden, um die Werte durch etwas anderes als NaN zu ersetzen.

 #keep values that are greater than 7, but replace all others with 'low'
df. where (df>7, other=' low ')

	points assists rebounds
0 25 low 11
1 12 low 8
2 15 low 10
3 14 9 low
4 19 12 low
5 23 9 low
6 25 9 9
7 29 low 12

Beispiel 2: Werte in einer bestimmten DataFrame-Spalte ersetzen

Der folgende Code zeigt, wie Sie mit der Funktion Where() alle Werte ersetzen, die eine bestimmte Bedingung in einer bestimmten Spalte eines DataFrame nicht erfüllen.

 #keep values greater than 15 in 'points' column, but replace others with 'low'
df[' points '] = df[' points ']. where (df[' points ']>15, other=' low ')

#view DataFrame
df

	points assists rebounds
0 25 5 11
1 low 7 8
2 low 7 10
3 low 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

Die vollständige Online-Dokumentation für die Funktion pandaswhere() finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere allgemeine Funktionen in Pandas verwenden:

So verwenden Sie die Funktion „beschreiben()“ in Pandas
So verwenden Sie die Funktion idxmax() in Pandas
So wenden Sie eine Funktion auf ausgewählte Spalten in Pandas an

Einen Kommentar hinzufügen

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