Panda's: extraheer kolomwaarde op basis van een andere kolom


U kunt de functie query() in panda’s gebruiken om de waarde in de ene kolom te extraheren op basis van de waarde in een andere kolom.

Deze functie gebruikt de volgende basissyntaxis:

 df. query (" team=='A' ")[" points "]

In dit specifieke voorbeeld wordt elke waarde uit de puntenkolom gehaald waarbij de teamkolom gelijk is aan A.

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [11, 28, 10, 26, 6, 25, 29, 12]})

#view DataFrame
print (df)

  team position points
0 AG 11
1 AG 28
2 AF10
3AF 26
4 BG 6
5 BG 25
6 BF 29
7 BF 12

Voorbeeld 1: Kolomwaarden extraheren op basis van een vervulde voorwaarde

De volgende code laat zien hoe u elke waarde uit de puntenkolom kunt extraheren, waarbij de waarde van de teamkolom gelijk is aan ‚A‘:

 #extract each value in points column where team is equal to 'A'
df. query (" team=='A' ")[" points "]

0 11
1 28
2 10
3 26
Name: points, dtype: int64

Deze functie retourneert de vier waarden in de puntenkolom waarbij de overeenkomstige waarde in de teamkolom gelijk is aan „A“.

Voorbeeld 2: Kolomwaarden extraheren op basis van een van de vele voorwaarden waaraan is voldaan

De volgende code laat zien hoe u elke waarde kunt extraheren uit de puntenkolom waarbij de waarde van de teamkolom gelijk is aan ‚A‘ of de waarde van de positiekolom gelijk is aan ‚G‘:

 #extract each value in points column where team is 'A' or position is 'G'
df. query (" team=='A' | position=='G' ")[" points "]

0 11
1 28
2 10
3 26
4 6
5 25
Name: points, dtype: int64

Deze functie retourneert de zes waarden in de puntenkolom waarbij de corresponderende waarde in de teamkolom gelijk is aan „A“ of de waarde in de positiekolom gelijk is aan „G“.

Voorbeeld 3: Kolomwaarden extraheren op basis van het voldoen aan meerdere voorwaarden

De volgende code laat zien hoe u elke waarde uit de puntenkolom kunt extraheren, waarbij de waarde van de teamkolom gelijk is aan ‚A‘ en de waarde van de positiekolom gelijk is aan ‚G‘:

 #extract each value in points column where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' ")[" points "]

0 11
1 28
Name: points, dtype: int64

Deze functie retourneert de twee waarden in de puntenkolom waarbij de corresponderende waarde in de teamkolom gelijk is aan „A“ en de waarde in de positiekolom gelijk is aan „G“.

Aanvullende bronnen

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

Panda’s: kolommen selecteren op basis van voorwaarde
Panda’s: verwijder rijen op basis van meerdere voorwaarden
Panda’s: update kolomwaarden op basis van een ander DataFrame

Einen Kommentar hinzufügen

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