logo

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








Java è uguale
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>Edf>, ignorando i loro indici originali, e memorizza il risultato nella variabileresult>. Quindi reimposta l'indice del DataFrame concatenato

Python3

jdbc




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()>consort=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, ilpd.concat()>viene utilizzata per concatenare questi dataframe verticalmente, producendo un nuovo dataframe denominatoresult>, Eignore_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>, Edf2>) che rappresentano informazioni su corsi, costi, durata e sconti. Quindi concatena questi frame di dati verticalmente utilizzandopd.concat()>, creando un nuovo dataframe denominatoresult>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

ILpandas.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, iljoin>viene utilizzato per combinare questi frame di dati in base ai loro indici, risultando in un nuovo frame di dati denominatoresult>, che viene stampato.

Python3




esempi di NFA
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 fileappend()>metodo, risultando in un nuovo dataframe denominatoresult>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>