Pandas Función concat

Suraj Joshi 30 enero 2023
  1. pandas.concat() Sintaxis
  2. Ejemplo: Concatenar 2 series de pandas a lo largo del eje de fila utilizando el método pandas.concat()
  3. Ejemplo: Concatenar 2 objetos Series Pandas a lo largo del eje de columna mediante el método pandas.concat()
  4. Ejemplo: Concatenar 2 objetos Pandas DataFrame usando el método pandas.concat()
  5. Ejemplo: Concatenar DataFrame con un objeto de serie usando el método pandas.concat()
Pandas Función concat

El método pandas.concat() concatena objetos Pandas DataFrame o Series.

pandas.concat() Sintaxis

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 secuencia o mapeo de objetos Pandas Series o DataFrame a concatenar.
join Método de unión (inner o outer)
axis concat a lo largo de la fila (axis = 0) o columna (axis = 1)
ignore_index Booleano. Si es True, los índices de los DataFrames originales se ignoran.
keys secuencia para agregar un identificador a los índices de resultados
levels niveles a utilizar para crear un MultiIndex
names nombres para niveles en MultiIndex
verify_integrity Booleano. Si es True, busque duplicados
sort Booleano. Ordenar el eje de no concatenación si aún no está alineado cuando unión es exterior.
copy Booleano. Si es False, evite la copia innecesaria de datos.

Retorna

Devuelve un objeto Series si todos los objetos Series están concatenados a lo largo del axis = 0. Devuelve un objeto DataFrame si algún objeto a concatenar es un DataFrame, o los objetos Series están concatenados a lo largo del axis = 1.

Ejemplo: Concatenar 2 series de pandas a lo largo del eje de fila utilizando el 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)

Producción:

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 los objetos Series ser_1 y ser_2 a lo largo de axis = 0 o por filas. Las filas de uno de los objetos Series se apilan una encima de la otra. El objeto concatenado tomará valores de índice de los objetos principales por defecto. Podemos establecer ignore_index = True para asignar nuevos valores de índice al 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)

Producción:

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 los objetos Series y asigna nuevos valores de índice al objeto Series concatenado.

Ejemplo: Concatenar 2 objetos Series Pandas a lo largo del eje de columna mediante el método pandas.concat()

Establecemos axis = 1 en el método pandas.concat() para concatenar objetos Series horizontalmente oa lo largo del eje de columna.

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)

Producción:

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

Apila horizontalmente los objetos Series ser_1 y ser_2.

Ejemplo: Concatenar 2 objetos Pandas DataFrame usando el 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)

Producción:

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 los objetos DataFrame df_1 y df_2. Al establecer ignore_index = True, asignamos nuevos índices al DataFrame concatenado.

Ejemplo: Concatenar DataFrame con un objeto de serie usando el 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)

Producción:

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 el objeto DataFrame df y el objeto Series ser juntos. La concatenación se realiza en columnas, ya que hemos establecido axis = 1 en el método pandas.concat().

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Pandas DataFrame