I panda combinano i dati di dati

I panda combinano i dati di dati
I panda forniscono una vasta gamma di strumenti e funzioni per la manipolazione dei dati, inclusi la fusione dei dati di dati. La fusione dei dati di dati ci consente di creare un frame dati modificando l'origine dati originale e generare un nuovo frame dati senza modificare l'origine dati. La frase "join" si riferisce a unire due frame dati insieme per creare un nuovo frame di dati. Pertanto, se hai familiarità con SQL o altri dati tabulari, sicuramente sai cosa implica. Può essere difficile comprendere correttamente i tipi di join se sei un principiante (esterno, interno, sinistro, a destra). Discuteremo alcuni tipi di iscrizione ad esempi in questo tutorial. Le funzioni Concat () e Merge () saranno il nostro obiettivo principale in questo tutorial. Per fornirti quante più alternative utili possibile, parleremo di altre tecniche di fusione.

Come combinare i dati di dati nei panda

Diversi metodi possono essere utilizzati per combinare due o più temi di dati. Ne discuteremo alcuni nei seguenti esempi.

Esempio 1: combinazione di due frame di dati Pandas utilizzando la funzione Merge ()
Iniziamo questo esempio creando due semplici frame di dati e nominandoli "DF1" e "DF2". Per creare i dati dei dati, dobbiamo prima importare il modulo Pandas per utilizzare le sue funzionalità. Il PD.DataFrame viene utilizzato per creare i nostri frame dati.

Per creare i nostri frame dati, passiamo i dizionari all'interno del PD.DataFrame () e assegnare i dati dei dati alle variabili "DF1" e "DF2".

Nel nostro frame dati "DF1", abbiamo due colonne - "persona" e "ID" - che memorizzano i nomi delle persone e i numeri ID di quelle persone, rispettivamente.

Nel nostro secondo frame dati "DF2", ci sono anche due colonne - "ID" e "Stipendio" - che memorizzano i numeri di ID fittizio e gli stipendi delle persone. Usiamo la funzione Merge () per unire questi frame dati. Dai un'occhiata a tutte le opzioni che questo metodo può accettare prima di continuare:

Sintassi

Ad eccezione dei parametri a destra e a sinistra, la maggior parte di questi parametri ha valori predefiniti. I nomi dei dati dei dati che combiniamo sono contenuti in questi due parametri. Un nuovo telaio di dati viene restituito dalla funzione stessa, che salviamo nella variabile "Merge_DF".

Poiché l'ID colonna in entrambi i frame dati "DF1" e "DF2" ha la stessa etichetta, il metodo Merge () combina automaticamente i due frame dati in base a tale chiave. Specifichiamo i parametri Left_on = "Nome della colonna sinistra" e destra_on = "nome della colonna destra" per specificare esplicitamente i tasti per i nostri frame dati se non è presente alcuna colonna con lo stesso nome della colonna in entrambi i frame dati. Stampiamo il nostro nuovo frame di dati combinato con la funzione print ().

Come puoi vedere, DF unito contiene solo 4 righe mentre l'originale di DF2 contiene 5 righe. Questo perché viene creato un nuovo frame dati intersecando i frame dati destra e sinistra quando il valore predefinito del parametro "come" è impostato su "interno" all'interno del PD.funzione unione (). Pertanto, il telaio di dati combinato non conterrebbe un ID che manca a una delle tabelle.

Se le righe destra e sinistra sono state cambiate, questo è ancora vero:

L'output è la stessa.

Ma l'ID "005" non fa ancora parte dei frame dati combinati. Anche se nessuna delle righe si interseca, potrebbero esserci situazioni in cui vogliamo includere i dati di entrambi i gesti di dati nel frame di dati uniti contenenti tutte le sue righe.

Possiamo impostare il parametro "How" su "giusto" all'interno della funzione unione ().

La funzione include ogni elemento del frame dati destro "DF2" e il frame dati di sinistra "DF1" utilizzando un join destro. Se le righe mancavano da DataFrame "DF1", utilizziamo come = "Left".

Esempio 2: combinazione di due frame di dati Pandas utilizzando la funzione join ()
Join () è una funzione del frame dati stesso, al contrario di unire (), che è una funzione dell'istanza di Panda. Può quindi essere utilizzato sul telaio di dati come un metodo statico. Creiamo innanzitutto due frame dati di esempio DF1 e DF2 in modo da poterli combinare o unire utilizzando la funzione join ().

Per vedere il contenuto di entrambi i frame dati, stampiamoli uno per uno.

Ora, stampa il secondo frame dati "DF2".

Da quando abbiamo creato i nostri frame dati, guarda la sintassi della funzione join ():

Sintassi

Il nostro telaio di dati di sinistra "DF1" è quello su cui chiamiamo la funzione join (). Il nostro frame di dati giusto "DF2" è quello nella funzione "Altro" all'interno della funzione join (). Il parametro "How" accetta uno dei parametri di gestione (sinistra, destra, esterno o interno) mentre il parametro "Is" per impostazione predefinita è impostato su sinistra. Il parametro "on" può accettare uno o più argomenti (elenco di chiavi) per specificare la chiave di corrispondenza.

Ora ci uniamo a DF2 con DF1.

Come si può vedere, abbiamo dati di dati "DF1" e "DF2" utilizzando la funzione join (). L'output della funzione join () può essere modificato utilizzando i diversi parametri e specificando i diversi argomenti per loro.

Esempio 3: combinazione di due frame di dati Panda utilizzando la funzione Concat ()
Rispetto a Merge () e join (), la concatenazione è un po 'più flessibile perché ci consente di unire i telai di dati o in orizzontale (per quanto riguarda verticalmente (per quanto riguarda la riga). Il principale svantaggio è che i dati vengono eliminati o scartati se le etichette della colonna non corrispondono o non esistono in entrambi i frame dati. La sintassi della funzione è la seguente:

Sintassi

Parametri

  • OBJ: L'elenco degli oggetti DataFrame ([DataFrame1, DataFrame2,…]) che verranno concatenati.
  • asse: Determina l'ordine della concatenazione, per quanto riguarda la colonna se specificato in 1 e in termini di riga se specificato in 0.
  • giuntura: Può essere specificato come "esterno" per unione e "interno" per l'intersezione.
  • Ignore_index: Può provocare valori di indice duplicato perché "ignorare l'indice" è di default false, che mantiene i valori dell'indice i frame dati originali. Se vero, riassegna l'indice in ordine sequenziale ignorando i valori originali.
  • Chiavi: Possiamo creare un indice gerarchico usando le chiavi. Consideralo come un livello aggiuntivo dell'indice esterno a sinistra che aiuta nell'identificazione degli indici durante la duplicazione. Ora, creiamo il nostro telaio di dati con le stesse etichette di colonne.

Stampiamo i nostri frame dati "DF1" e "DF2" per vedere il loro contenuto.

Abbiamo due colonne in "DF1". Ora, "DF2" deve avere due colonne con gli stessi nomi.

Il frame dati "DF2" consiste anche in colonne "Nome" e "Age" che hanno gli stessi dati dei dati delle colonne di "DF1".

Ora, passiamo il DF1 e DF2 nel parametro OBJS come elenco ([DF1, DF2]) per combinarli per quanto riguarda la riga. E poi, assegniamo il nuovo telaio di dati uniti alla variabile "unita".

Come si può vedere, i dati di "DF2" sono fusi in termini di riga con "DF1". Tuttavia, nota gli indici sul lato sinistro di ogni riga. I numeri 0, 1 e 2 continuano a ripetere. Impostiamo l'argomento Ignore_index su True per ottenere i valori indicizzati distinti.

Il valore dell'asse deve essere modificato dal valore predefinito da 0 a 1 per combinare la colonna "DF1" e "DF2".

Osserverai che differisce da Merge () che corrisponde a due frame di dati su una chiave.

Ci sono anche altri metodi in panda come Append () e Combine_First () e Update () per combinare due frame di dati.

Conclusione

In questo tutorial, abbiamo visto che la combinazione dei dati di dati ci consente di creare sia un frame di dati modificando l'origine dati originale e generare un nuovo frame dati senza modificare l'origine dati. Abbiamo visto la sintassi delle funzioni utilizzate per unire i gesti di dati. Abbiamo cercato di insegnarti come puoi combinare due Frame di dati Pandas utilizzando le funzioni di join (), Merge () e concat (). Ora, potresti essere in grado di combinare DataFrame () e assegnare da solo il frame dati utilizzando queste funzioni.