El método apply()
El método apply()
#
Habrás notado que utilizamos el método apply()
para realizar una transformación a datos numéricos pero evitamos hacerlo en la transformación a datetime
. Esto se debe a que el método apply()
es básicamente un for loop
sobre una serie de filas de datos. En este sentido, no toda operación puede valerse de esta función para hacer una transformación. En este sentido, es muy útil el capítulo 6 del libro de [Stepanek and John, 2020].
apply()
es particularmente útil cuando lo utilizamos para realizar operaciones repetitivas a través de una función. Por ejemplo, construyamos una función simple para determinar el año de nacimiento de cada persona de muestra_covid
tomando como base la edad:
def calcular_edad(edad):
return 2022 - edad
Así, podemos crear una columna que se llame año_nacimiento
en la que se guarde el resultado de aplicar esta función a la columna edad
.
muestra_covid['año_nacimiento'] = muestra_covid.edad.apply(calcular_edad)
Este es un ejemplo muy simple (que tal vez no amerite el uso de apply()
) pero permite ejemplificar cómo podría ser utilizado este método.
Otros usos
Uno de los usos más recurridos de apply()
es combinarlo con la función groupby()
. Un interesante ejemplo de cómo realizar esta aplicación está dado en el artículo [Whorton, 2021].