Panda Confronta due frame dati riga per riga

Panda Confronta due frame dati riga per riga
Un frame di dati è una struttura bidimensionale realizzata in righe e colonne in cui i dati vengono mantenuti in formato tabulare. È flessibile in termini di lunghezza e dati tabulari diversi. I calcoli aritmetici possono essere eseguiti sulla riga e sulle etichette delle colonne. Quando si tratta di gesti di dati Pandas, potrebbe essere necessario determinare se due frame di dati sono equivalenti o meno.

Pand come metodo di confronto

In Panda, il metodo di confronto visualizza le varianze tra due temi di dati. Questo metodo confronta due frame di dati, riga per riga e colonna per colonna. Quindi visualizza le differenze una accanto all'altra. La funzione di confronto può confrontare solo i telai dati di una struttura simile, con la stessa riga e nomi di colonne e uguali dimensioni.

Segue la seguente sintassi:

Discutiamo brevemente i parametri.

IL "DF_2" è qualsiasi frame di dati per il confronto. IL "Alline_axis" Specifica gli assi di confronto, con 0 per righe e 1 per le colonne come valore predefinito. IL "Keep_Shape" Il parametro è un valore booleano. Mettere questo a "vero" proibisce di eliminare qualsiasi riga o colonna. Per il valore predefinito "false", confronta colonne e righe con tutti gli attributi che sono uguali per i due frame di dati. Un altro argomento booleano è "Keep_Equal". I due frame dati visualizzano valori uguali. Quando questo è impostato su "True", visualizza le posizioni per i due frame di dati con i valori identici come NAN per l'impostazione predefinita "false".

Esempio: utilizzo del metodo di confronto panda

Abbiamo utilizzato lo strumento "Spyder" qui. Apri un nuovo file Python nello strumento "Spyder". Dobbiamo "importare panda come PD" per accedere alle funzionalità dei panda. È estremamente importante notare che le edizioni Pandas devono essere 1.1.0 o superiore. Abbiamo quindi creato il nostro primo frame dati utilizzando il metodo Pandas “PD.DataFrame () "e archiviato questo Frame Data in una variabile" First_Table ".

Abbiamo inizializzato questo frame dati con tre colonne "prodotto", "prezzo" e "quantità". Ogni colonna sta memorizzando la stessa lunghezza dei valori che è cinque. Il primo "prodotto" del "First_Table" "First_Table" sta archiviando cinque valori di stringa che sono "acrilici", "tela", "matite", "notebook" e "pennelli". La nostra seconda colonna "Price" sta memorizzando 5 valori int che sono "260", "100", "25", "350" e "200". L'ultima colonna qui è "quantità" e sta anche memorizzando valori int che sono "1", "2", "5", "3" e "6". Nell'ultima riga dello script, abbiamo impiegato la funzione "Print ()" per visualizzare il nostro primo frame dati.

Quando si preme il pulsante "Esegui file" o utilizza lo strumento "spyder" "Spedit+enter" tasti sulla tastiera, il riempimento del file Python è eseguito. L'output visualizzato nel terminale mostra un frame dati con 3 colonne create correttamente.

Devono esserci due frame dati per confrontarli. Abbiamo già creato il nostro primo frame dati "First_table". Ora, dobbiamo generare il secondo frame dati. Prima di costruire il secondo frame dati dobbiamo tenere presente alcune restrizioni che abbiamo menzionato nell'introduzione. Entrambi i frame dati dovrebbero avere gli stessi nomi di colonne, forme esatte e uguale lunghezza. Solo allora possiamo applicare il metodo di confronto.

Per generare il secondo frame dati, abbiamo copiato la prima struttura "First_table" del frame dati con alcune modifiche. Abbiamo creato un frame dati "second_table" e lo abbiamo assegnato l'output di chiamare "DataFrame.Metodo copy () ". IL ".La funzione Copy () "copierà la struttura della tabella del frame dati" First_table ". Vogliamo copiare la forma ma dobbiamo modificare alcuni valori nel nuovo frame dati, quindi useremo il ".Proprietà Loc "qui. Questa proprietà specifica la posizione in cui si desidera aggiungere valore. Funziona con il nome di nuovo telaio "second_table" con ".loc [0, 'price'] = 300 ". Pertanto, nell'indice "0" della colonna "Prezzo" nel frame dati "Second_table", posizionerà il valore "300".

Nella posizione dell'indice "1" della colonna "Prezzo" Il valore viene inserito "120". L'indice LOC "2" della colonna "Price" memorizza il valore "20". E i restanti due valori verrebbero copiati come proveniente dalla colonna "First_table" "Price". Allo stesso modo, nell'indice Loc "0" della colonna "Quantità", il valore viene modificato in "2". La colonna "1" LOC della "quantità" ha un valore "3". LOC "2" della colonna "Quantità" ha impostato il valore "6". Il resto dei valori verrà copiato dalla colonna "First_table" "quantità" così com'è. Abbiamo quindi utilizzato la funzione "Print ()" per esibire il secondo frame di dati sul terminale.

Quando viene visualizzato l'output, è possibile osservare che il "secondo_table" ha tutte le stesse colonne di "First_table". I valori modificati delle colonne "prezzo" e "quantità" sono implementati correttamente nelle posizioni fornite.

Qui inizia l'attività principale. Dobbiamo ora confrontare entrambi i frame dati. Per questo, utilizzeremo Panda "DataFrame.Metodo di confronto () ".

Abbiamo invocato il "dati di dati.Metodo di confronto () ". Segue la sintassi come nome del primo frame dati "First_table" con ".confronta () "e tra le parentesi del".Metodo di confronto () ". Fornire il nome del secondo frame dati "Second_table". Abbiamo creato un "confronto" variabile per archiviare il frame dati risultante generato dal confronto di "first_table" e "second_table". Infine, il metodo "print ()" è invocato con la variabile "confronto" come parametro per visualizzare il frame dati risultante.

Ecco il frame dati di output con il confronto dei valori distinti dei dati dei dati. Per impostazione predefinita, lascia cadere gli stessi valori. Il confronto viene eseguito in termini di colonna dalle sue impostazioni predefinite.

Ora, se vogliamo disegnare un confronto in termini di riga, dobbiamo modificare il valore del parametro "align-asse". Il suo valore predefinito è "1" che disegnerà una colonna di confronto in termini. Abbiamo impostato "align_axis = 0", quindi le righe della tabella sono disegnate in sequenza da sé e altre. Abbiamo quindi chiamato la funzione "print ()" per visualizzare il risultato.

L'immagine di output di seguito mostra un frame dati disegnato con un confronto a righe.

Usa il ".Metodo compare () "Argomenti" Mantieni forma "per visualizzare tutte le voci nella tabella" Confronto ". Per impostazione predefinita, "Keep_Shape" è impostato su "Falso". Se "vero", tutte le righe e le colonne sono incluse nella tabella; Altrimenti, vengono mantenuti solo quelli con valori diversi.

Puoi vedere l'output mostra tutte le colonne e le righe ma gli stessi valori vengono visualizzati come "nan" qui e i valori distinti vengono mantenuti come lo sono.

Ora, se si desidera visualizzare tutti i valori senza essere stampato come "NANS", devi usare il parametro "Keep_shape = True" insieme al parametro "Keep_Equal = True". Se "Keep_Equal" è impostato su "True", l'output include anche valori uguali. I valori uguali sono altrimenti visualizzati come "NANS". L'impostazione predefinita di questo parametro è "false."

L'output visualizzato sul terminale mostra un frame di dati con un confronto disegnato a riga di tutti i valori di due frame dati mantenendo i valori uguali e distinti.

Conclusione

In questa guida, abbiamo discusso della tecnica di confronto dei panda per confrontare due frame di dati. Abbiamo spiegato la sintassi dei panda ".Funzione di confronto () "e tutti i suoi parametri. Usando lo strumento "Spyder" che abbiamo implementato ed elaborato i codici di esempio in Python.