Come concatenare due o più dataframe Pandas?
La concatenazione di due o più frame di dati può essere eseguita utilizzando il metodo pandas.concat(). concat() in Panda funziona combinando data frame su righe o colonne. Possiamo concatenare due o più frame di dati sia lungo righe (asse=0) che lungo colonne (asse=1). In questo articolo vedremo come possiamo concatenare o aggiungere due o più Panda Dataframe .
Concatena due o più Panda DataFrames Python
Esistono vari metodi per concatenare DataFrames verticalmente o orizzontalmente qui stiamo discutendo alcuni metodi generalmente utilizzati per concatenare DataFrames verticalmente o orizzontalmente. quelli sono i seguenti.
- Concatenazione di due dataframe Panda
-
Using>pd.merge()>per concatenare due dataframe -
pd.DataFrame.reindex()>per concatenazione verticale con allineamento dell'indice -
Using pd.concat()>consort=False>per una concatenazione più rapida - Utilizzo di pandas.concat() per concatenare due dataframe
- Concatena più dataframe utilizzando panda.concat()
- Utilizzando panda.join() per unire due dataframe
- Utilizzando DataFrame.append() per concatenare due dataframe
Crea un DataFrame di esempio
Crea due Data Frame che concateneremo ora. Per creare frame di dati utilizzeremo Insensibile e panda.
Python3
import> pandas as pd> import> numpy as np> df> => pd.DataFrame({> 'Courses'> : [> 'GFG'> ,> 'JS'> ,> 'Python'> ,> 'Numpy'> ],> > 'Fee'> : [> 20000> ,> 25000> ,> 22000> ,> 24000> ]})> df1> => pd.DataFrame({> 'Courses'> : [> 'Matplotlib'> ,> 'SSC'> ,> 'CHSL'> ,> 'Java'> ],> > 'Fee'> : [> 25000> ,> 25200> ,> 24500> ,> 24900> ]})> df2> => pd.DataFrame({> 'Duration'> : [> '30day'> ,> '40days'> ,> '35days'> ,> '60days'> ],> > 'Discount'> : [> 1000> ,> 2300> ,> 2500> ,> 2000> ]})> print> (> 'DataFrame 1:'> )> print> (df)> print> (> 'DataFrame 2:'> )> print> (df1)> print> (> 'DataFrame 3:'> )> print> (df2)> |
Produzione:
DataFrame 1: Courses Fee 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 DataFrame 2: Courses Fee 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 DataFrame 3: Duration Discount 0 30day 1000 1 40days 2300 2 35days 2500 3 60days 2000
Concatena due DataFrame Panda verticalmente e orizzontalmente
Passeremo due dataframe a pd.concat() metodo sotto forma di elenco e menziona in quale asse vuoi concatenare, ad es. asse=0 concatenare lungo le file, asse=1 per concatenare lungo le colonne.
Python3
# concatenating df1 and df2 along rows> vertical_concat> => pd.concat([df, df1], axis> => 0> )> # concatenating df3 and df4 along columns> horizontal_concat> => pd.concat([df1, df2], axis> => 1> )> print> (> 'Vertical:'> )> print> (vertical_concat)> print> (> 'Horizontal:'> )> print> (horizontal_concat)> |
Produzione:
Vertical: Courses Fee 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 Horizontal: Courses Fee Duration Discount 0 Matplotlib 25000 30day 1000 1 SSC 25200 40days 2300 2 CHSL 24500 35days 2500 3 Java 24900 60days 2000
Concatenazione di DataFrames utilizzando pd.merge() per concatenare due DataFrames
The method> 'pd.merge()'> in pandas is used to concatenate DataFrames either vertically or horizontally. It combines two DataFrames based on common columns using a merge operation. The 'how' parameter in pd.merge() specifies the type of merge (inner, outer, left, or right), determining how the DataFrames are combined.>
Python3
result> => pd.merge(df, df1, on> => 'Courses'> , how> => 'outer'> , suffixes> => (> '_df1'> ,> '_df2'> )).fillna(> 0> )> result[> 'Fee'> ]> => result[> 'Fee_df1'> ]> +> result[> 'Fee_df2'> ]> result> => result[[> 'Courses'> ,> 'Fee'> ]]> print> (result)> |
Produzione :
Courses Fee 0 GFG 20000.0 1 JS 25000.0 2 Python 22000.0 3 Numpy 24000.0 4 Matplotlib 25000.0 5 SSC 25200.0 6 CHSL 24500.0 7 Java 24900.0
Using pd.DataFrame.reindex()> per concatenazione verticale con allineamento dell'indice
Il metodo pd.DataFrame.reindex() viene utilizzato per la concatenazione verticale di DataFrames nei panda. Allinea gli indici dei DataFrames, garantendo il corretto impilamento. È un passaggio cruciale quando si combinano i DataFrames verticalmente utilizzando la concatenazione nei panda.
Esempio: In questo esempio il codice concatena due DataFrames panda, df1> E df> , ignorando i loro indici originali, e memorizza il risultato nella variabile result> . Quindi reimposta l'indice del DataFrame concatenato
Python3
result> => pd.concat([df1, df], ignore_index> => True> )> # Concatenate and reset index> result> => result.reindex(> range> (> 8> ))> print> (result)> |
Produzione :
Courses Fee 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 4 GFG 20000 5 JS 25000 6 Python 22000 7 Numpy 24000
Using pd.concat()> con sort=False> per una concatenazione più rapida
Il metodo ` pd.concat() ` nella libreria pandas di Python viene utilizzato per combinare DataFrames verticalmente (lungo le righe) o orizzontalmente (lungo le colonne). Il parametro 'sort=False' viene utilizzato per migliorare la velocità di concatenazione disabilitando l'ordinamento del DataFrame risultante.
Esempio : In questo esempio il codice utilizza la libreria pandas per concatenare due DataFrames, df1 e df, lungo le rispettive righe (asse=0). Il parametro sort=False impedisce l'ordinamento del DataFrame risultante in base ai nomi delle colonne.
Python3
result> => pd.concat([df1, df], sort> => False> )> print> (result)> |
Produzione :
Courses Fee 0 Matplotlib 25000 1 SSC 25200 2 CHSL 24500 3 Java 24900 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000
Concatena due o più DataFrames Pandas in Python usando pandas.concat()
`pandas.concat()` combina due DataFrame verticalmente o orizzontalmente, impilandoli uno sopra l'altro o uno accanto all'altro, fornendo un modo flessibile per concatenare i dati lungo gli assi specificati.
Esempio :In questo esempio, il pd.concat()> viene utilizzata per concatenare questi dataframe verticalmente, producendo un nuovo dataframe denominato result> , E ignore_index=True> viene utilizzato per reimpostare l'indice. Il risultato finale viene stampato.
Python3
result> => pd.concat([df, df1], ignore_index> => True> )> print> (result)> |
Produzione:
Courses Fee 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900
Concat più dataframe in Python utilizzando pandas.concat()
Il metodo pandas.concat() viene utilizzato per combinare DataFrames verticalmente (lungo le righe) o orizzontalmente (lungo le colonne). Prende un elenco di DataFrames come input e li concatena in base all'asse specificato (0 per verticale, 1 per orizzontale).
Esempio : Questo esempio utilizza i panda per creare tre frame di dati ( df> , df1> , E df2> ) che rappresentano informazioni su corsi, costi, durata e sconti. Quindi concatena questi frame di dati verticalmente utilizzando pd.concat()> , creando un nuovo dataframe denominato result> con un indice di ripristino e il dataframe risultante viene stampato.
Python3
result> => pd.concat([df, df1, df2], ignore_index> => True> )> print> (result)> |
Produzione:
Courses Fee Duration Discount 0 GFG 20000 NaN NaN 1 JS 25000 NaN NaN 2 Python 22000 NaN NaN 3 Numpy 24000 NaN NaN 4 Matplotlib 25000 NaN NaN 5 SSC 25200 NaN NaN 6 CHSL 24500 NaN NaN 7 Java 24900 NaN NaN 8 NaN NaN 30day 1000.0 9 NaN NaN 40days 2300.0 10 NaN NaN 35days 2500.0 11 NaN NaN 60days 2000.0
Panda concatena due dataframe utilizzando pandas.join() per unire due dataframe
IL pandas.join()> Il metodo viene utilizzato per concatenare DataFrames verticalmente o orizzontalmente in base a colonne specificate, eseguendo un join in stile SQL. Combina righe o colonne di due DataFrame in base a valori di colonna comuni, consentendo join interni, esterni, sinistro o destro.
Esempio : In questo esempio, il join> viene utilizzato per combinare questi frame di dati in base ai loro indici, risultando in un nuovo frame di dati denominato result> , che viene stampato.
Python3
result> => df.join(df1)> print> (result)> |
Produzione:
Courses Fee Duration Discount 0 GFG 20000 30day 1000 1 JS 25000 40days 2300 2 Python 22000 35days 2500 3 Numpy 24000 60days 2000
Combina due dataframe in Python usando DataFrame.append()
Il ` DataFrame.append() Il metodo ` in Panda viene utilizzato per concatenare due DataFrame verticalmente, aggiungendo le righe di un DataFrame sotto l'altra. Restituisce un nuovo DataFrame con i dati combinati. Assicurati che entrambi i DataFrame abbiano le stesse colonne.
Esempio : In questo esempio, stiamo utilizzando il file append()> metodo, risultando in un nuovo dataframe denominato result> con un indice di ripristino, che viene stampato.
Python3
result> => df.append(df1, ignore_index> => True> )> print> (result)> |
Produzione:
Courses Fee 0 GFG 20000 1 JS 25000 2 Python 22000 3 Numpy 24000 4 Matplotlib 25000 5 SSC 25200 6 CHSL 24500 7 Java 24900