Panda: formula per “se valore nella colonna allora”


Puoi utilizzare la seguente sintassi in panda per assegnare valori a una colonna in base ai valori di un’altra colonna:

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

Questa particolare sintassi creerà una nuova colonna denominata “new” che assumerà i seguenti valori:

  • new1 se il valore in col è uguale ad A.
  • new2 se il valore in col è uguale a B.
  • Una stringa vuota se il valore in col è uguale a qualsiasi altro valore.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: utilizzo di una formula per “Se valore nella colonna allora” in Panda

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 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

Supponiamo ora di voler creare una nuova colonna chiamata city i cui valori dipendono dal valore corrispondente nella colonna team .

Possiamo usare la seguente sintassi per fare questo:

 #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       

Questa particolare sintassi ha creato una nuova colonna chiamata city che assume i seguenti valori:

  • Atlanta se il valore della squadra è pari ad A.
  • Boston se il valore della squadra è pari a B.
  • Una stringa vuota se il valore in team è uguale a qualsiasi altro valore.

Tieni presente che in questo esempio abbiamo utilizzato una stringa vuota dopo l’ultima istruzione else per lasciare semplicemente vuoti i valori che non soddisfacevano alcuna condizione.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Panda: ottieni l’indice delle righe la cui colonna corrisponde al valore
Panda: come selezionare colonne contenenti una stringa specifica
Panda: come verificare se la colonna contiene una stringa

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *