Funzione Pandas concat

Suraj Joshi 30 gennaio 2023
  1. pandas.concat() Sintassi
  2. Esempio: concatena 2 serie di pandas lungo l’asse di riga usando il metodo pandas.concat()
  3. Esempio: concatena 2 oggetti della serie Pandas lungo l’asse di colonna usando il metodo pandas.concat()
  4. Esempio: concatena 2 oggetti DataFrame Pandas usando il metodo pandas.concat()
  5. Esempio: concatenare DataFrame con un oggetto della serie utilizzando il metodo pandas.concat()
Funzione Pandas concat

Il metodo pandas.concat() concatena gli oggetti Pandas DataFrame o Series.

pandas.concat() Sintassi

pandas.concat(
    objs,
    axis=0,
    join="outer",
    ignore_index=False,
    keys=None,
    levels=None,
    names=None,
    verify_integrity=False,
    sort=False,
    copy=True,
)

Parametri

objs sequenza o mappatura di oggetti Pandas Series o DataFrame da concatenare.
join Metodo di unione (inner o outer)
axis concatenare lungo la riga (axis=0) o colonna (axis=1)
ignore_index Booleano. Se True, gli indici dell’originale DataFrames vengono ignorati.
keys sequenza per aggiungere un identificatore agli indici dei risultati
levels livelli da utilizzare per creare un MultiIndex
names nomi per i livelli in MultiIndex
verify_integrity Booleano. Se True, verifica la presenza di duplicati
sort Booleano. Ordina l’asse di non concatenazione se non è già allineato quando join è outer.
copy Booleano. Se False, evitare la copia non necessaria dei dati

Ritorno

Restituisce un oggetto Series se tutti gli oggetti Series sono concatenati lungo axis=0. Restituisce un oggetto DataFrame se un qualsiasi oggetto da concatenare è un DataFrame, o gli oggetti Series sono concatenati lungo l’axis=1.

Esempio: concatena 2 serie di pandas lungo l’asse di riga usando il metodo pandas.concat()

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2])

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Produzione:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
0    48
1    46
2    34
3    38
dtype: int64

Concatena gli oggetti Series ser_1 e ser_2 lungo l ‘axis=0 o per riga. Le file di uno degli oggetti Series vengono impilate l’una sull’altra. L’oggetto concatenato prenderà i valori indice dagli oggetti padre per impostazione predefinita. Possiamo impostare ignore_index=True per assegnare nuovi valori di indice all’oggetto concatenato.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], ignore_index=True)

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Produzione:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
4    48
5    46
6    34
7    38
dtype: int64

Concatena gli oggetti Series e assegna nuovi valori di indice all’oggetto Series concatenato.

Esempio: concatena 2 oggetti della serie Pandas lungo l’asse di colonna usando il metodo pandas.concat()

Impostiamo axis=1 nel metodo pandas.concat() per concatenare gli oggetti Series orizzontalmente o lungo l’asse delle colonne.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], axis=1)

print("Result after Horizontal Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Produzione:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Horizontal Concatenation of ser_1 and ser_2:
    0   1
0  20  48
1  45  46
2  36  34
3  45  38

Impila orizzontalmente gli oggetti Series ser_1 e ser_2.

Esempio: concatena 2 oggetti DataFrame Pandas usando il metodo pandas.concat()

import pandas as pd

df_1 = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame-1:")
print(df_1, "\n")

df_2 = pd.DataFrame({"Col-1": [10, 20, 30, 40], "Col-2": [50, 60, 70, 80]})
print("DataFrame-2:")
print(df_2, "\n")

concatenated_df = pd.concat([df_1, df_2], ignore_index=True)

print("Result after Horizontal Concatenation of df_1 and df_2:")
print(concatenated_df)

Produzione:

DataFrame-1:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

DataFrame-2:
   Col-1  Col-2
0     10     50
1     20     60
2     30     70
3     40     80

Result after Horizontal Concatenation of df_1 and df_2:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8
4     10     50
5     20     60
6     30     70
7     40     80

Concatena gli oggetti DataFrame df_1 e df_2. Impostando ignore_index=True, assegniamo nuovi indici al DataFrame concatenato.

Esempio: concatenare DataFrame con un oggetto della serie utilizzando il metodo pandas.concat()

import pandas as pd

df = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame Object:")
print(df, "\n")

ser = pd.Series([48, 46, 34, 38])
print("Series Object:")
print(ser, "\n")

ser_df = pd.concat([df, ser], axis=1)

print("Concatenation of ser and df:")
print(ser_df)

Produzione:

DataFrame Object:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

Series Object:
0    48
1    46
2    34
3    38
dtype: int64

Concatenation of ser and df:
   Col-1  Col-2   0
0      1      5  48
1      2      6  46
2      3      7  34
3      4      8  38

Concatena l’oggetto DataFrame df e l’oggetto Series ser insieme. La concatenazione avviene per colonna poiché abbiamo impostato axis=1 nel metodo pandas.concat().

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Pandas DataFrame