Pandas DataFrame DataFrame.assign() Función

Suraj Joshi 30 enero 2023
  1. Sintaxis de pandas.DataFrame.assign():
  2. Códigos de ejemplo: DataFrame.assign() Método para asignar una sola columna
  3. Códigos de ejemplo: DataFrame.assign() Método para asignar múltiples columnas
Pandas DataFrame DataFrame.assign() Función

La función Python Pandas DataFrame.assign() asigna nuevas columnas al DataFrame.

Sintaxis de pandas.DataFrame.assign():

DataFrame.assign(**kwargs)

Parámetros

**kwargs argumentos de palabras clave para la función assign(). Los nombres de columna que se asignan a DataFrame se pasan como argumentos de palabra clave.

Retorna

Devuelve el objeto DataFrame con nuevas columnas asignadas junto con las existentes.

Códigos de ejemplo: DataFrame.assign() Método para asignar una sola columna

import pandas as pd

df = pd.DataFrame({'Cost Price': 
                   [100, 200], 
                   'Selling Price':
                   [200, 400]})

new_df=df.assign(Profit=df["Selling Price"]-
                        df["Cost Price"])
print(new_df)

La llamada DataFrame es

   Cost Price  Selling Price
0         100            200
1         200            400

Resultado:

   Cost Price  Selling Price  Profit
0         100            200     100
1         200            400     200

Asigna una nueva columna Profit al DataFrame que corresponde a la diferencia entre las columnas “Precio de venta” y “Precio de coste”.

También podemos asignar una nueva columna a df usando la función lambda para los objetos llamables.

import pandas as pd

df = pd.DataFrame({'Cost_Price': 
                   [100, 200], 
                   'Selling_Price': 
                   [200, 400]})

new_df=df.assign(Profit=lambda x: 
                 x.Selling_Price-
                 x.Cost_Price)

print(new_df)

El llamador DataFrame es

   Cost Price  Selling Price
0         100            200
1         200            400

Resultado:

   Cost_Price  Selling_Price  Profit
0         100            200     100
1         200            400     200

Códigos de ejemplo: DataFrame.assign() Método para asignar múltiples columnas

import pandas as pd

df = pd.DataFrame({'Cost_Price': 
                   [100, 200], 
                   'Selling_Price': 
                   [200, 400]})

new_df=df.assign(Cost_Price_Euro =  
                 df['Cost_Price']*1.11,  
                  Selling_Price_Euro = 
                 df['Selling_Price']*1.11)

print(new_df)

La llamada DataFrame es

   Cost Price  Selling Price
0         100            200
1         200            400

Resultado:

   Cost_Price  Selling_Price  Cost_Price_Euro  Selling_Price_Euro
0         100            200            111.0               222.0
1         200            400            222.0               444.0

Asigna dos nuevas columnas Cost_Price_Euro y Selling_Price_Euro a df que se derivan de las columnas existentes Cost_Price y Selling_Price respectivamente.

También podemos asignar múltiples columnas a df usando la función lambda para los objetos llamables.

import pandas as pd

df = pd.DataFrame({'Cost_Price': 
                   [100, 200], 
                   'Selling_Price': 
                   [200, 400]})

new_df=df.assign(Cost_Price_Euro = 
                 lambda x: x.Cost_Price*1.11,  
                 Selling_Price_Euro =
                 lambda x: x.Selling_Price*1.11)

print(new_df)

El llamador DataFrame es

   Cost Price  Selling Price
0         100            200
1         200            400

Resultado:

   Cost_Price  Selling_Price  Cost_Price_Euro  Selling_Price_Euro
0         100            200            111.0               222.0
1         200            400            222.0               444.0
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Pandas DataFrame