Panda's: hoe u een booleaanse kolom maakt op basis van een voorwaarde


U kunt de volgende basissyntaxis gebruiken om een op voorwaarden gebaseerde Booleaanse kolom te maken in een Panda DataFrame:

 df[' boolean_column '] = np. where (df[' some_column '] > 15, True , False )

Deze specifieke syntaxis creëert een nieuwe Booleaanse kolom met twee mogelijke waarden:

  • Waar als de waarde in some_column groter is dan 15.
  • Onwaar als de waarde in some_column kleiner is dan of gelijk is aan 15.

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

Voorbeeld: Maak een Booleaanse kolom op basis van de voorwaarde in Panda’s

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 17, 7, 19, 12, 13, 9, 24]})

#view DataFrame
print (df)

  team points
0 to 5
1 to 17
2 to 7
3 to 19
4 B 12
5 B 13
6 B 9
7 B 24   

We kunnen de volgende code gebruiken om een nieuwe kolom te maken met de naam good_player die True retourneert als de waarde in de puntenkolom groter is dan 15 of anders False :

 import numpy as np

#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, True , False )

#view updated DataFrame
print (df)

  team points good_player
0 To 5 False
1 To 17 True
2 To 7 False
3 To 19 True
4 B 12 False
5 B 13 False
6 B 9 False
7 B 24 True

Merk op dat de nieuwe kolom met de naam good_player slechts twee waarden bevat: True of False .

We kunnen de functie dtypes() gebruiken om te verifiëren dat de nieuwe kolom good_player inderdaad een Booleaanse kolom is:

 #display data type of good_player column
df[' good_player ']. dtype

dtype('bool')

De nieuwe kolom good_player is inderdaad een Booleaanse kolom.

Houd er ook rekening mee dat u numerieke waarden zoals 1 en 0 kunt retourneren in plaats van True en False als u dat wilt:

 import numpy as np

#create new boolean column based on value in points column
df[' good_player '] = np. where (df[' points '] > 15, 1 , 0 )

#view updated DataFrame
print (df)

  team points good_player
0 to 5 0
1 To 17 1
2 to 7 0
3 A 19 1
4 B 12 0
5 B 13 0
6 B 9 0
7 B 24 1

De kolom good_player bevat nu een 1 als de overeenkomstige waarde in de puntenkolom groter is dan 15.

Anders bevat het de waarde 0 .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Hoe u rijen selecteert op basis van meerdere voorwaarden in Pandas
Hoe u een nieuwe kolom maakt op basis van een voorwaarde in Pandas
Hoe u een Pandas DataFrame op meerdere voorwaarden kunt filteren

Einen Kommentar hinzufügen

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