¿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.
-
mapgeneralmente 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. -
applyes más versátil y puede aplicarse tanto a Series como a DataFrame. Para Series, funciona de manera similar amap, pero puede aceptar funciones que devuelven un escalar o una Series. Para DataFrame,applypermite 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.