Come confrontare due colonne in panda: con esempi
Spesso potresti voler confrontare due colonne in un DataFrame Pandas e scrivere i risultati del confronto in una terza colonna.
Puoi farlo facilmente utilizzando la seguente sintassi:
conditions=[(condition1),(condition2)] choices=[" choice1 "," choice2 "] df[" new_column_name "]=np. select (conditions, choices, default)
Ecco cosa fa questo codice:
- le condizioni sono le condizioni da verificare tra le due colonne
- le scelte sono i risultati da restituire in base alle condizioni
- np.select viene utilizzato per restituire i risultati nella nuova colonna
L’esempio seguente mostra come utilizzare questo codice nella pratica.
Esempio: confronta due colonne in Pandas
Supponiamo di avere il seguente DataFrame che mostra il numero di goal segnati da due squadre di calcio in cinque partite diverse:
import numpy as np import pandas as pd #createDataFrame df = pd. DataFrame ({' A_points ': [1, 3, 3, 3, 5], ' B_points ': [4, 5, 2, 3, 2]}) #view DataFrame df A_points B_points 0 1 4 1 3 5 2 3 2 3 3 3 4 5 2
Possiamo utilizzare il seguente codice per confrontare il numero di goal per riga e visualizzare il vincitore della partita in una terza colonna:
#define conditions conditions = [df[' A_points '] > df[' B_points '], df[' A_points '] < df[' B_points ']] #define choices choices = [' A ', ' B '] #create new column in DataFrame that displays results of comparisons df[' winner '] = np. select (conditions, choices, default=' Tie ') #view the DataFrame df A_points B_points winner 0 1 4 B 1 3 5 B 2 3 2 A 3 3 3 Tie 4 5 2 A
I risultati del confronto vengono visualizzati nella nuova colonna denominata vincitore .
Commenti
Ecco alcune cose da tenere a mente quando si confrontano due colonne in un DataFrame panda:
- Il numero di condizioni e scelte deve essere uguale.
- L’ impostazione predefinita specifica il valore da visualizzare nella nuova colonna se nessuna delle condizioni è soddisfatta.
- NumPy e Panda sono necessari affinché questo codice funzioni.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:
Come rinominare le colonne in Pandas
Come aggiungere una colonna a un DataFrame Pandas
Come modificare l’ordine delle colonne in Pandas DataFrame