Come combinare i file CSV in Python

Come combinare i file CSV in Python

A volte il set di dati dato non si trova in un singolo file CSV. Sono tutti su diversi fogli Excel. Sai già che è preferibile eseguire tutte le attività computazionali o di preelaborazione su un singolo set di dati anziché diversi set di dati. Riduce o risparmia il tempo che dobbiamo spendere per le attività di preelaborazione. Inoltre, come analista di dati o dati scienziati, puoi frequentemente trovarti sovraccarico da numerosi file CSV che devono essere uniti prima ancora di iniziare l'analisi o l'esame dei dati disponibili. D'altra parte, non è sempre possibile che tutti i file siano ottenuti dalla singola o stessa origine dati e abbiano la stessa colonna/variabili e la struttura dei dati. Questo post ti insegnerà a combinare due o più file CSV con una struttura di colonna simile o diversa.

Perché combinare i file CSV?

Un set di dati può essere una raccolta o un gruppo di valori o numeri relativi a un argomento specifico. Ad esempio, i risultati del test di ogni studente in una determinata classe sono un esempio di un set di dati. A causa delle dimensioni di set di dati di grandi dimensioni, sono spesso archiviati in file CSV separati per diverse categorie. Ad esempio, se siamo tenuti a esaminare un paziente per una malattia specifica, dobbiamo considerare ogni componente, tra cui il loro genere, la cartella clinica, l'età, la gravità della malattia, ecc. Di conseguenza, è necessaria una combinazione di dati CSV per esaminare vari aspetti che influenzano i predittori. Inoltre, è meglio lavorare e gestire un singolo set di dati anziché diversi set di dati durante l'esecuzione delle attività di calcolo o preelaborazione. Salva la memoria e altre risorse computazionali

Come combinare i file CSV in Python?

Esistono diversi modi e metodi per combinare due o più file CSV in Python. Nella sezione seguente, utilizzeremo le funzioni Append (), Concat () e Merge (), ecc., Per combinare i file CSV in Pandas DataFrame, i dati dei dati verranno convertiti in un singolo file CSV. Insegneremo a combinare più file CSV con una struttura di colonna simile o variabile.

Metodo n. 1: combinare CSV con strutture o colonne simili

La nostra attuale directory di lavoro ha due file CSV, "Test1" e "Test2".

Esempio n. 1: usando la funzione append ()

Entrambi i file CSV sono della stessa struttura. La funzione Glob () verrà utilizzata in questo metodo per elencare solo i file CSV nella directory di lavoro. Quindi useremo “panda.DataFrame.append () ”per leggere i nostri file CSV (con una struttura tabella comune).

Produzione:

Utilizzando la funzione Append, abbiamo aggiunto o aggiunto ogni riga di dati da Test2.CSV sotto le righe dei dati di Test1.CSV, come si può vedere che tutte le righe dei dati del file sono state combinate. Per convertire questo frame dati in CSV, possiamo utilizzare la funzione TO_CSV ().

Ciò creerà un file CSV combinato di file CSV di "test1" e "test2" nella nostra directory di lavoro con il nome specificato, i.e., unito.CSV.

Esempio n. 2: usando la funzione concat ()

Importeremo prima il modulo Pandas. Il metodo della mappa leggerà ogni file CSV che abbiamo superato usando PD.read_csv (). Questi file mappati (file CSV) verranno quindi combinati lungo l'asse di riga per impostazione predefinita utilizzando la funzione PD.concat (). Se vogliamo combinare i file CSV in orizzontale, possiamo passare l'asse = 1. Specificare Ignore Index = true crea anche valori di indice continuo per il telaio di dati combinato.

Il PD.read_csv () viene passato all'interno della funzione concat () per leggere i file CSV nel frame dati Pandas dopo la concatenazione.

Abbiamo ottenuto un frame dati con dati combinati di tutti i file CSV nella directory di lavoro. Ora, convertiamolo in un file CSV.

Il nostro CSV combinato è creato nella directory corrente.

Metodo n. 2: combinare CSV con strutture o colonne diverse

Abbiamo discusso di combinare file CSV con le stesse colonne e struttura nel primo metodo. In questo metodo, combineremo file CSV con diverse colonne e strutture.

Esempio n. 1: usando la funzione Merge ()

I "panda.La funzione Merge () "nel modulo Pandas può combinare due file CSV. La fusione si riferisce semplicemente alla combinazione di due set di dati in un singolo set di dati in base a colonne o attributi condivisi.

Possiamo unire i gesti di dati in quattro diversi modi di aderire:

  • Interno
  • Giusto
  • Sinistra
  • Esterno

Per eseguire questi tipi di fusioni, useremo due file CSV.

Si noti che almeno un attributo o una colonna deve essere condiviso da entrambi i file CSV. Come osservato, la colonna "nome" e alcuni dei suoi attributi sono condivisi da entrambi i file CSV.

Unire usando interiore join

Parametro Specifica come = "interno" nella funzione unione () combinerà i due frame dati secondo la colonna specificata e quindi fornirà un nuovo frame di dati che contiene solo le righe con valori identici/stessi in entrambi i frame dati originali.

Come si può vedere che la funzione ha unito entrambi i file CSV e restituito le righe in base agli attributi comuni del "nome" della colonna.

Unire usando il giusto esterno

Quando viene specificato il parametro come = "a destra", entrambi i frame dati verranno combinati in base alla colonna che abbiamo specificato per il parametro '. E un nuovo telaio di dati contenente tutte le righe dal frame dati destro, comprese eventuali righe per le quali il telaio di dati sinistro non contiene valori, verrà restituito, con il valore della colonna del telaio dati sinistro impostato su NAN.

Unire usando sinistra esterno

Quando il modo in cui il parametro viene specificato come "a sinistra", i due frame di dati verranno combinati in base alla colonna specificata utilizzando il parametro "su", restituendo un nuovo frame di dati che ha tutte le righe dal telaio di dati sinistro e qualsiasi riga che ha NAN oppure valori null nel frame dati giusto e imposta il valore della colonna di dati giusti su NAN.

Unisciti usando un join esterno completo

Quando viene specificato come = "esterno", i due frame di dati verranno combinati a seconda della colonna specificata per il parametro "on", restituendo un nuovo frame di dati che contiene le righe da entrambi i frame dati DF1 e DF2 e l'impostazione di NAN come valore per il quale i dati sono assenti in uno dei frame dati.

Esempio n. 2: combinare tutti i file CSV nella directory di lavoro

In questo metodo, useremo il modulo Glob per combinare tutto .File CSV in un frame di dati Pandas. Tutte le biblioteche dovevano essere importate per prime. Successivamente, imposteremo un percorso per ogni file CSV che vogliamo combinare. Il percorso del file è il primo argomento per il sistema operativo.sentiero.funzione join () nell'esempio seguente e il secondo argomento è i componenti del percorso o .I file CSV da unire. Qui, l'espressione '*.CSV 'troverà e restituirà ogni file nella directory di lavoro che termina con il .Estensione del file CSV. Il globo.La funzione GLOB (File unite) accetta un elenco dei nomi dei file uniti come input e emette un elenco di tutti i file uniti/combinati.

Questo script restituirà un frame dati con i dati combinati di tutti i file CSV nella nostra directory di lavoro.

Questo frame dati verrà trasformato in un file CSV e la funzione TO_CSV () verrà utilizzata per questa conversione. Questo nuovo file CSV sarà i file CSV combinati creati da tutti i file CSV archiviati nella directory di lavoro corrente.

Conclusione

In questo post, abbiamo discusso del perché dobbiamo combinare i file CSV. Abbiamo discusso di come due o più file CSV possono essere combinati in Python. Abbiamo diviso questo tutorial in due sezioni. Nella prima sezione, abbiamo spiegato come utilizzare le funzioni di append () e concat () per combinare i file CSV della stessa struttura o nomi di colonne. Nella seconda sezione, abbiamo usato il metodo Merge (), OS.sentiero.join () e metodo Glob per combinare file CSV di diverse colonne e strutture.