Função Pandas concat

Suraj Joshi 30 janeiro 2023
  1. Sintaxe pandas.concat()
  2. Exemplo: concatene 2 séries de pandas ao longo do eixo da linha usando o método pandas.concat()
  3. Exemplo: concatene 2 objetos da série Pandas ao longo do eixo da coluna usando o método pandas.concat()
  4. Exemplo: concatene 2 objetos Pandas DataFrame usando o método pandas.concat()
  5. Exemplo: concatenar DataFrame com um objeto Series usando o método pandas.concat()
Função Pandas concat

O método pandas.concat() concatena objetos Pandas DataFrame ou Series.

Sintaxe pandas.concat()

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

Parâmetros

objs seqüência ou mapeamento de objetos Pandas Series ou DataFrame a serem concatenados.
join Método de junção (inner ou outer)
axis concat ao longo da linha (axis=0) ou coluna (axis=1)
ignore_index Boleano. Se True, os índices dos DataFrames originais são ignorados.
keys sequência para adicionar um identificador aos índices de resultados
levels níveis a serem usados ​​para criar um MultiIndex
names nomes para níveis em MultiIndex
verify_integrity Boleano. Se for True, verifique se há duplicatas
sort Boleano. Classifica o eixo de não concatenação se ainda não estiver alinhado quando join for outer.
copy Boleano. Se False, evite a cópia desnecessária de dados

Retornar

Ele retorna um objeto Series se todos os objetos Series são concatenados ao longo do axis=0. Ele retorna um objeto DataFrame se qualquer objeto a ser concatenado for um DataFrame ou os objetos Series forem concatenados ao longo do axis=1.

Exemplo: concatene 2 séries de pandas ao longo do eixo da linha usando o método 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)

Resultado:

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

Ele concatena os objetos Series ser_1 e ser_2 ao longo do axis=0 ou linha. As linhas de um dos objetos Series são empilhadas umas sobre as outras. O objeto concatenado obterá valores de índice dos objetos pais por padrão. Podemos definir ignore_index=True para atribuir novos valores de índice ao objeto concatenado.

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)

Resultado:

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

Ele concatena os objetos Series e atribui novos valores de índice ao objeto Series concatenado.

Exemplo: concatene 2 objetos da série Pandas ao longo do eixo da coluna usando o método pandas.concat()

Definimos axis=1 no método pandas.concat() para concatenar objetos Series horizontalmente ou ao longo do eixo da coluna.

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)

Resultado:

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

Empilha horizontalmente os objetos Series ser_1 e ser_2.

Exemplo: concatene 2 objetos Pandas DataFrame usando o método 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)

Resultado:

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

Ele concatena os objetos DataFrame df_1 e df_2. Definindo ignore_index=True, atribuímos novos índices ao DataFrame concatenado.

Exemplo: concatenar DataFrame com um objeto Series usando o método 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)

Resultado:

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

Ele concatena o objeto DataFrame df e o objeto Series ser juntos. A concatenação é feita em colunas, pois definimos axis=1 no método pandas.concat().

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Pandas DataFrame