Método assign() de DataFrame de Pandas

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a usar el método assign() de la biblioteca Pandas en Python. El método assign() nos permite agregar nuevas columnas a un DataFrame y devuelve un nuevo objeto DataFrame con todas las columnas originales más las nuevas. Podemos asignar nuevas columnas directamente o mediante funciones o expresiones.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar las bibliotecas necesarias

Primero, importemos las bibliotecas necesarias: pandas y numpy.

import pandas as pd
import numpy as np

Crear un DataFrame

A continuación, creemos un DataFrame que contenga algunos datos de ejemplo. Usaremos la función pd.DataFrame() para crear un DataFrame a partir de un diccionario.

data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data)
print(df)

La salida será:

   A   B
0  1   6
1  2   7
2  3   8
3  4   9
4  5  10

Asignar una nueva columna al DataFrame

Ahora, asignemos una nueva columna al DataFrame usando el método assign(). Podemos asignar una nueva columna directamente especificando el nombre de la columna y los valores.

df = df.assign(C=[11, 12, 13, 14, 15])
print(df)

La salida será:

   A   B   C
0  1   6  11
1  2   7  12
2  3   8  13
3  4   9  14
4  5  10  15

Asignar una nueva columna usando una función

También podemos asignar una nueva columna al DataFrame pasando una función al método assign(). Esta función tomará el DataFrame como entrada y realizará un cálculo para generar los valores de la nueva columna. Asignemos una nueva columna D que calcule el valor de C más 1.

df = df.assign(D=lambda x: x['C'] + 1)
print(df)

La salida será:

   A   B   C   D
0  1   6  11  12
1  2   7  12  13
2  3   8  13  14
3  4   9  14  15
4  5  10  15  16

Asignar múltiples columnas al DataFrame

Podemos asignar múltiples columnas al DataFrame usando el método assign() varias veces. Asignemos dos nuevas columnas E y F al DataFrame. La columna E calculará el valor de A más 1, y la columna F calculará el valor de B menos 1.

df = df.assign(E=lambda x: x['A'] + 1).assign(F=lambda x: x['B'] - 1)
print(df)

La salida será:

   A   B   C   D   E   F
0  1   6  11  12   2   5
1  2   7  12  13   3   6
2  3   8  13  14   4   7
3  4   9  14  15   5   8
4  5  10  15  16   6   9

Resumen

En este laboratorio, aprendimos cómo usar el método assign() en Pandas para agregar nuevas columnas a un DataFrame. Podemos asignar nuevas columnas directamente o usando funciones o expresiones. Este método nos permite manipular y modificar fácilmente nuestro DataFrame sin cambiar los datos originales.