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.