Panda controlla se due colonne sono uguali

Panda controlla se due colonne sono uguali
Spesso, vorrai confrontare i dati in due colonne in un Frame di dati Panda e visualizzare i risultati in una terza colonna. Impareremo tutte le linee guida su come confrontare le colonne in un Frame di dati Pandas in questo post. Panda è un utile pacchetto Python per l'analisi dei dati, la visualizzazione, la purificazione dei dati e altre attività. Continua a leggere questo articolo per trovare tutti i dettagli sul confronto di due colonne in un telaio di dati Pandas con esempi.

Modulo Panda in Python

Il modulo Python Pandas è essenzialmente un pacchetto Python gratuito. Ha una vasta gamma di applicazioni in calcolo, analisi dei dati, statistiche e altri campi.

Il modulo Pandas utilizza le funzionalità core del modulo numpy. Numpy è una struttura di dati di basso livello. Consente agli utenti di manipolare gli array multidimensionali e applicare varie operazioni matematiche ad esse. I panda offrono un'interfaccia utente più avanzata. Include anche una solida funzionalità delle serie temporali e un miglioramento dell'allineamento dei dati tabulari.

Il frame dati è la struttura dati primaria di Pandas. È una struttura di dati 2D che consente di archiviare e manipolare i dati in forma tabulare.

I panda hanno molte funzionalità per il telaio. Allineamento dei dati, taglio, statistiche sui dati, raggruppamento, concatenazione di dati, fusione e così via sono esempi.

Perché confrontare due colonne nei panda?

Quando desideriamo confrontare i valori di due colonne o vedere quanto sono simili, dobbiamo confrontarli. Ad esempio, se abbiamo due colonne e vogliamo determinare se la colonna è più o meno dell'altra colonna o della loro somiglianza, confrontare le colonne è il modo appropriato per farlo.

Per associare i valori in panda e numpy, ci sono una varietà di approcci. In questo editoriale, attraverseremo numerose strategie e le azioni coinvolte nel metterle in pratica.

Supponiamo che abbiamo due colonne: la colonna A contiene vari progetti e la colonna B ha i nomi associati. Nella colonna D, abbiamo diversi progetti non correlati. Sulla base dei progetti nella colonna D, desideriamo restituire i nomi associati dalla colonna B. In Excel, come potresti confrontare le colonne A e D e ottenere i valori relativi dalla colonna B? Diamo un'occhiata ad alcuni esempi e capiamo come puoi raggiungere questo obiettivo.

Esempio 1:

Il NP.dove () la tecnica verrà utilizzata in questo esempio. La sintassi è numpy.dove (condizione [, a, b]). Questo metodo riceve la condizione e, se la condizione è vera, il valore che forniamo ('a' nella sintassi) sarà il valore che forniamo loro.

Importiamo le biblioteche, i panda e Numpy necessari, nel codice seguente. Abbiamo costruito un dizionario ed elencato i valori per ciascuna colonna.

Otteniamo la condizione per confrontare le colonne usando il metodo Where () in Numpy. Se 'First_Column' è più piccolo di 'Second_column' e 'First_Column' è più piccolo di 'Third_column,' I valori di 'First_column' sono stampati. Se la condizione fallisce, il valore è impostato su 'nan.'Questi risultati vengono salvati nella nuova colonna del Frame Data. Infine, il frame dati è presentato sullo schermo.

Panda di importazione
importa numpy
data =
'First_column': [2, 3, 40, 5],
'Second_column': [8, 5, 30, 10],
'Third_column': [4, 9, 12, 40]

d_frame = panda.DataFrame (dati)
d_frame ['new'] = numpy.dove ((d_frame ['first_column'] <= d_frame['Second_Column']) & (
d_frame ['first_column'] <= d_frame['Third_Column']), d_frame['First_Column'], numpy.nan)
Stampa (d_frame)

L'output è mostrato di seguito. Qui puoi vedere il primo_column, il secondo_column e il terzo_column. La colonna "nuova" mostra i valori risultanti dopo l'esecuzione del comando.

Esempio 2:

Questo esempio dimostra come utilizzare il metodo equals () per confrontare due colonne e restituire il risultato nella terza colonna. DataFrame.uguale (altro) è la sintassi. Questo metodo controlla se due colonne hanno gli stessi elementi.

Stiamo utilizzando lo stesso metodo nel codice seguente, che prevede l'importazione di librerie e la creazione di un frame dati. Abbiamo creato una nuova colonna (denominata: Quarth_column) in questo frame dati. Questa nuova colonna è uguale a "Second_column" per mostrare cosa esegue la funzione in questo frame dati.

Panda di importazione
importa numpy
data =
'First_column': [2, 3, 40, 5],
'Second_column': [8, 5, 30, 10],
'Third_column': [4, 9, 12, 40],
'Fourth_column': [8, 5, 30, 10],

d_frame = panda.DataFrame (dati)
print (d_frame ['quarto_column'].equals (d_frame ['second_column'])

Quando eseguiamo il codice di esempio indicato sopra, restituisce "vero", come puoi visualizzare nell'immagine allegata.

Esempio 3:

Questo metodo ci consente di passare il metodo e altrimenti le condizioni nell'esempio finale del nostro articolo e avere la stessa funzione eseguita attraverso la serie Panda DataFrame. Usando questa strategia, minimizziamo il tempo e il codice.

Lo stesso codice viene utilizzato anche in questo esempio per creare un frame dati in panda. Creiamo una funzione anonima temporanea in Applica () stesso utilizzando lambda utilizzando il metodo Applica (). Determina se "column1" è inferiore a "column2" e "column1" è più piccolo di "column3". Se vero, verrà restituito il valore 'colonna1. Visualirà NAN se è falso. La nuova colonna viene utilizzata per contenere questi valori. Di conseguenza, le colonne sono state confrontate.

Panda di importazione
importa numpy
data =
'First_column': [2, 3, 40, 5],
'Second_column': [8, 5, 30, 10],
'Third_column': [4, 9, 12, 40],

d_frame = panda.DataFrame (dati)
d_frame ['new'] = d_frame.Applica (lambda x: x ['first_column'] se x ['first_column'] <=
X ['Second_column'] e x ['First_column']
<= x['Third_Column'] else numpy.nan, axis=1)
Stampa (d_frame)

L'immagine allegata mostra il confronto di due colonne.

Conclusione:

Questo è stato un breve post sull'uso di Panda e Python per confrontare una o più colonne di due frame di dati. Abbiamo superato la funzione uguali () (che controlla se due oggetti Pandas hanno gli stessi elementi), il NP.Metodo dove () (che restituisce gli elementi da x o y a seconda dei criteri) e il metodo Applica () (che accetta una funzione e lo applica a tutti i valori in una serie Panda). Se non hai familiarità con il concetto, puoi usare questa guida. Per comodità, il post include tutti i dettagli e numerosi campioni.