Hoe de where()-functie in panda's te gebruiken (met voorbeelden)


De functie Where() kan worden gebruikt om bepaalde waarden in een pandas DataFrame te vervangen.

Deze functie gebruikt de volgende basissyntaxis:

 df. where (cond, other=nan)

Voor elke waarde in een Panda DataFrame waarbij cond True is, blijft de oorspronkelijke waarde behouden.

Voor elke waarde waarbij cond False is, wordt de oorspronkelijke waarde vervangen door de waarde die is opgegeven door het andere argument.

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 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

Voorbeeld 1: Vervang waarden door het gehele DataFrame

De volgende code laat zien hoe je de functie Where() kunt gebruiken om alle waarden die niet aan een bepaalde voorwaarde voldoen in een heel panda’s DataFrame te vervangen door een NaN-waarde.

 #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

We kunnen het andere argument ook gebruiken om de waarden te vervangen door iets anders dan NaN.

 #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

Voorbeeld 2: Vervang waarden in een specifieke DataFrame-kolom

De volgende code laat zien hoe je de functie Where() kunt gebruiken om alle waarden die niet aan een bepaalde voorwaarde voldoen in een specifieke kolom van een DataFrame te vervangen.

 #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

U kunt de volledige online documentatie voor de pandaswhere()- functie hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelgebruikte functies in panda’s kunt gebruiken:

Hoe de functie beschrijven() in Panda’s te gebruiken
Hoe de idxmax()-functie in Panda’s te gebruiken
Hoe een functie toe te passen op geselecteerde kolommen in Pandas

Einen Kommentar hinzufügen

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