Sobes.tech
Middle

¿En qué se diferencian los métodos apply y map en Pandas?

sobes.tech AI

Respuesta de la IA

Los métodos apply y map en Pandas sirven para aplicar funciones a los datos, pero se utilizan en diferentes contextos y tienen distintas capacidades.

  • map generalmente se aplica a Series y está diseñado para transformaciones elemento por elemento. Puede aceptar un diccionario, una función o una Series para reemplazar o transformar valores.

  • apply es más versátil y puede aplicarse tanto a Series como a DataFrame. Para Series, funciona de manera similar a map, pero puede aceptar funciones que devuelven un escalar o una Series. Para DataFrame, apply permite aplicar una función a lo largo de filas (axis=1) o columnas (axis=0).

Ejemplo:

import pandas as pd

ds = pd.Series([1, 2, 3])

# map aplica la función a cada elemento
print(ds.map(lambda x: x * 2))

# apply en Series es similar a map
print(ds.apply(lambda x: x * 2))

# apply en DataFrame por columnas
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df.apply(sum, axis=0))  # suma por columnas
print(df.apply(sum, axis=1))  # suma por filas

En resumen: map — para transformaciones simples en Series, apply — más flexible, funciona tanto con DataFrame como con Series, y permite aplicar funciones complejas.