Fusionar dos series de Pandas en un DataFrame

Samreena Aslam 30 enero 2023
  1. Fusionar dos series de Pandas en un DataFrame utilizando el método pandas.concat()
  2. Fusionar dos series de Pandas en un DataFrame utilizando el método pandas.merge()
  3. Fusionar dos series de Pandas en un DataFrame utilizando el método Series.append()
  4. Fusionar dos series de Pandas en un DataFrame utilizando el método DataFrame.join()
  5. Conclusión
Fusionar dos series de Pandas en un DataFrame

Pandas es una biblioteca de Python muy popular y de código abierto que ofrece varias funcionalidades o métodos para fusionar o combinar dos series de pandas en un DataFrame. En pandas, una serie es un array etiquetada unidimensional que puede manejar cualquier tipo de datos como enteros, flotantes, cadenas, objetos de python, etc. En palabras simples, la serie pandas es una columna en una hoja de Excel. Series almacena los datos en orden secuencial.

Este tutorial nos enseñará cómo fusionar o combinar dos o múltiples series de pandas en un DataFrame.

Hay varios métodos disponibles para fusionar dos o múltiples series de pandas en un DataFrame como pandas.concat(), Series.append(), pandas.merge() y DataFrame.join(). Explicaremos cada método en breve detalle con la ayuda de algunos ejemplos en este artículo.

Fusionar dos series de Pandas en un DataFrame utilizando el método pandas.concat()

El método pandas.concat() realiza todas las operaciones de concatenación a lo largo de un eje (ya sea por filas o por columnas). Podemos fusionar dos o más objetos pandas o series a lo largo de un eje particular para crear un DataFrame. El método concat() toma varios parámetros.

En el siguiente ejemplo, pasaremos pandas series para fusionar y axis=1 como parámetros. El axis=1 significa que la serie se fusionará como una columna en lugar de filas. Si usamos axis=0, agregará la serie pandas como una fila.

Código de ejemplo:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")
percentage_sale = pd.Series([83, 99, 84, 76], name="Sale")

# merge two pandas series using the pandas.concat() method
df = pd.concat([products, dollar_price, percentage_sale], axis=1)
print(df)

Producción :

             Products  Price  Sale
0  Intel Dell Laptops    350    83
1          HP Laptops    300    99
2      Lenavo Laptops    400    84
3        Acer Laptops    250    76

Fusionar dos series de Pandas en un DataFrame utilizando el método pandas.merge()

El pandas.merge() se utiliza para fusionar las complejas combinaciones de columnas de DataFrame similar a SQL join o una operación de merge. El método merge puede realizar todas las operaciones de unión de bases de datos entre los objetos de serie nombrados o DataFrame. Tenemos que pasar un parámetro extra name a la serie cuando utilizamos los pandas.merge() método.

Vea el siguiente ejemplo.

Código de ejemplo:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")

# using pandas series merge()
df = pd.merge(products, dollar_price, right_index=True, left_index=True)
print(df)

Producción :

             Products  Price
0  Intel Dell Laptops    350
1          HP Laptops    300
2      Lenavo Laptops    400
3        Acer Laptops    250

Fusionar dos series de Pandas en un DataFrame utilizando el método Series.append()

El método Series.append() es un atajo al método concat(). Este método agrega la serie a lo largo de axis=0 o filas. Usando este método, podemos crear un DataFrame agregando la serie a otra serie como una fila en lugar de columnas.

Usamos el método series.append() en nuestro código fuente de la siguiente manera:

Código de ejemplo:

import pandas as pd

# Using Series.append()
technical = pd.Series(["Pandas", "Python", "Scala", "Hadoop"])
non_technical = pd.Series(["SEO", "Graphic design", "Content writing", "Marketing"])

# using the appen() method merge series and create dataframe
df = pd.DataFrame(
    technical.append(non_technical, ignore_index=True), columns=["Skills"]
)
print(df)

Producción :

           Skills
0           Pandas
1           Python
2            Scala
3           Hadoop
4              SEO
5   Graphic design
6  Content writing
7        Marketing

Fusionar dos series de Pandas en un DataFrame utilizando el método DataFrame.join()

Usando el método DataFrame.join(), podemos unir dos series. Cuando usamos este método, tenemos que convertir una serie en el objeto DataFrame. Luego usaremos el resultado para combinar con otra serie.

En el siguiente ejemplo, hemos convertido la primera serie en un objeto DataFrame. Luego, usamos este DataFrame para fusionarlo con otra serie.

Código de ejemplo:

import pandas as pd

# Create Series by assigning names
products = pd.Series(
    ["Intel Dell Laptops", "HP Laptops", "Lenavo Laptops", "Acer Laptops"],
    name="Products",
)
dollar_price = pd.Series([350, 300, 400, 250], name="Price")

# Merge series using DataFrame.join() method
df = pd.DataFrame(products).join(dollar_price)
print(df)

Producción :

             Products  Price
0  Intel Dell Laptops    350
1          HP Laptops    300
2      Lenavo Laptops    400
3        Acer Laptops    250

Conclusión

En este tutorial aprendimos cómo fusionar dos series de Pandas en un DataFrame utilizando las cuatro formas diferentes. Además, exploramos cómo estos cuatro métodos pandas.concat(), Series.append(), pandas.merge() y DataFrame.join() que nos facilitan resolver la tarea de fusión de series de Pandas.

Artículo relacionado - Pandas DataFrame

Artículo relacionado - Pandas Series