2. Transformaciones (`apply`, `map` y `applymap`)

pandas/pandas-parte7
@Lautaroff 24-03-2025

En las transformaciones de datos con pandas, existen varias funciones para aplicar operaciones personalizadas en nuestros datos. Es importante destacar que, en versiones actuales de pandas (a partir de la 2.1.0), applymap() está desaconsejado y se recomienda usar map(), que ahora funciona tanto para Series como para DataFrames.


apply(): Aplicar funciones a columnas o filas

Se utiliza para aplicar una función personalizada a lo largo de un eje (filas o columnas) de un DataFrame. Es ideal para transformar datos en una sola columna o fila.

def cuadrado(x):
    return x ** 2

# Aplica la función 'cuadrado' a cada elemento de la columna 'Valor'
df['Valor al cuadrado'] = df['Valor'].apply(cuadrado)
print(df)

map(): Aplicar funciones a Series y DataFrames

Originalmente diseñada para transformar valores en Series, map() en las versiones actuales de pandas también se puede aplicar a DataFrames, reemplazando así la funcionalidad de applymap(). Esto permite transformar cada elemento de un DataFrame de forma más consistente.

Ejemplo con Series:

# Multiplica cada elemento de la columna 'Valor' por 2
df['Valor_modificado'] = df['Valor'].map(lambda x: x * 2)
print(df)

Ejemplo con DataFrames:

# Multiplica cada elemento de las columnas 'Valor' y 'Valor al cuadrado' por 3
df[['Valor', 'Valor al cuadrado']] = df[['Valor', 'Valor al cuadrado']].map(lambda x: x * 3)
print(df)

Nota:

Lección Anterior Curso Siguiente Lección