Panda's: formule voor "als waarde in kolom dan"


Je kunt in panda’s de volgende syntaxis gebruiken om waarden aan een kolom toe te wijzen op basis van de waarden van een andere kolom:

 df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')

Deze specifieke syntaxis zal een nieuwe kolom creëren met de naam “nieuw” die de volgende waarden zal aannemen:

  • new1 als de waarde in col gelijk is aan A.
  • new2 als de waarde in col gelijk is aan B.
  • Een lege tekenreeks als de waarde in col gelijk is aan een andere waarde.

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

Voorbeeld: een formule gebruiken voor ‚Als waarde in kolom dan‘ 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', 'C', 'C'],
                   ' points ': [14, 22, 25, 34, 30, 12, 10, 18]})

#view DataFrame
print (df)

  team points
0 to 14
1 to 22
2 to 25
3 to 34
4 B 30
5 B 12
6 C 10
7 C 18

Stel nu dat we een nieuwe kolom willen maken met de naam stad , waarvan de waarden afhangen van de overeenkomstige waarde in de teamkolom .

We kunnen hiervoor de volgende syntaxis gebruiken:

 #create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')

#view updated DataFrame                            
print (df)

  team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10         
7 C 18       

Deze specifieke syntaxis creëerde een nieuwe kolom met de naam stad , die de volgende waarden aanneemt:

  • Atlanta als de teamwaarde gelijk is aan A.
  • Boston als de teamwaarde gelijk is aan B.
  • Een lege tekenreeks als de waarde in team gelijk is aan een andere waarde.

Merk op dat we in dit voorbeeld een lege string na de laatste else -instructie hebben gebruikt om waarden die niet aan alle voorwaarden voldeden simpelweg leeg te laten.

Aanvullende bronnen

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

Panda’s: haal de index op van rijen waarvan de kolom overeenkomt met de waarde
Panda’s: kolommen selecteren die een specifieke string bevatten
Panda’s: hoe u kunt controleren of een kolom een string bevat

Einen Kommentar hinzufügen

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