Een casusverklaring schrijven in panda's (met voorbeeld)


Een case-instructie is een type instructie dat door de voorwaarden loopt en een waarde retourneert wanneer aan de eerste voorwaarde is voldaan.

De eenvoudigste manier om een case-instructie in een Pandas DataFrame te implementeren is door de functie NumPywhere() te gebruiken, die de volgende basissyntaxis gebruikt:

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

Deze specifieke functie kijkt naar de waarde in de kolom genaamd col2 en retourneert:

  • waarde1 ” als de waarde in col2 kleiner is dan 9
  • waarde2 ” als de waarde in col2 kleiner is dan 12
  • waarde3 ” als de waarde in kolom2 kleiner is dan 15
  • waarde4 ” als geen van de voorgaande voorwaarden waar is

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: case-instructie in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 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

We kunnen de volgende syntaxis gebruiken om een case-instructie te schrijven die een nieuwe kolom creëert met de naam class , waarvan de waarden worden bepaald door de waarden in de puntenkolom :

 #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

De case-instructie keek naar de waarde in de puntenkolom en retourneerde:

  • Slecht ” als de waarde in de puntenkolom minder dan 9 was
  • OK ” als de waarde in de puntenkolom minder dan 12 was
  • Goed ” als de waarde in de puntenkolom minder dan 15 was
  • Geweldig ” als geen van de voorgaande voorwaarden waar is

Opmerking : u kunt de volledige documentatie voor de functie NumPywhere() hier vinden.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Pandas kunt uitvoeren:

Hoe u een nieuwe kolom maakt op basis van een voorwaarde in Pandas
Hoe de NumPy Where()-functie met meerdere voorwaarden te gebruiken

Einen Kommentar hinzufügen

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