Data Science, Python, Economie ...

Accueil

df.apply()

La fonction df.apply() est l'équivalent pandas de map(), elle permet d'appliquer une fonction à toutes les lignes ou colonnes d'un dataframe.

Elle se couple bien à une fonction lambdaFonction lambda
Une fonction lambda prend la forme suivante : objet = lambda paramètres : expression.
Ce type d'écriture permet de spécifier rapidement des fonctions simples et de rendre le code plus facile à lire.

x = lambda a, b : a * b
print(x(5, 6))

> 30


On peut créer des conditions if de la manière suivante :
z = 5
fun = lambda x: False if x < 4 else True
print(fun(z))

> True


Les fonctions lambda sont fréquemment utilisées avec une méthode [[pd.apply()]].
ad-hoc.

Utilisation de la fonction

Cas d'usage

Appliquer apply() à une seule colonne1 :

On a un dataframe df:

a b
1 2
2 3
3 4
4 5

On veut que l'opération x = x + 1 soit appliquée à toutes les lignes de la colonne a :

df['a'] = df['a'].apply(lambda x: x + 1)
a b
2 2
3 3
4 4
5 5
  1. https://stackoverflow.com/questions/34962104/how-can-i-use-the-apply-function-for-a-single-column