Aplicación de funciones y mapeado

pandas ofrece varios métodos para aplicar funciones a los valores de una serie o de un dataframe, o para sustituir dichos valores por otros aplicando un cierto "mapeado". Más concretamente nos encontramos con los siguientes métodos:

  • pandas.Series.apply: aplica una función a cada uno de los elementos de la serie cuyo resultado, por lo tanto, tendrá el mismo tamaño que la serie original.
  • pandas.Series.map: devuelve una serie del mismo tamaño que la original en la que cada valor ha sido sustituido por otro valor resultante de aplicar una "función de mapeado".
  • pandas.Series.agg: devuelve el resultado de aplicar una o más funciones de agregación a los valores de la serie.
  • pandas.DataFrame.applymap: aplica una función a cada uno de los elementos del dataframe que, por lo tanto, tendrá el mismo tamaño que el dataframe original.
  • pandas.DataFrame.apply: aplica una función a las filas o a las columnas de un dataframe. Si, por ejemplo, se aplica a las filas, el resultado será una serie con tantos valores como filas tuviese el dataframe original.

Los nombres pueden parecer un tanto confusos: uno podría esperar que el método apply tuviese el mismo comportamiento en series y en dataframes y, en realidad, el método equivalente al método apply de las series es el applymap de los dataframes.

Revisemos estos métodos en esta sección.