Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Découverte des Fonctions Lambda | Se Familiariser Avec l’Indexation et la Sélection des Données
Manipulation de Données avec Pandas

bookDécouverte des Fonctions Lambda

Glissez pour afficher le menu

Note
Définition

Une fonction lambda est une petite fonction anonyme définie avec le mot-clé lambda. Contrairement aux fonctions classiques définies avec def, une fonction lambda n'a pas de nom et est destinée à une logique courte et à usage unique.

La syntaxe est :

lambda arguments: expression

La fonction prend des arguments et retourne le résultat de expression. Quelques exemples simples :

12345
double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
copy

Utilisation de lambda avec iloc[]

Dans pandas, iloc[] accepte normalement des positions basées sur des entiers. Cependant, il est également possible de passer une fonction lambda – dans ce cas, x fait référence au DataFrame lui-même, et x.index fournit les valeurs d'index des lignes :

data.iloc[lambda x: x.index < 5]

Cela retourne les cinq premières lignes (indices 0 à 4). Voici ce que fait chaque partie :

  • lambda x : définit une fonction anonyme où x est le DataFrame ;
  • x.index : accède aux valeurs d'index des lignes ;
  • x.index < 5 : condition de filtrage ; seules les lignes dont l'index est inférieur à 5 sont sélectionnées.

Le résultat est un tableau booléen que iloc[] utilise pour filtrer les lignes.

Filtrage selon la parité de l'index

Un cas d'utilisation courant consiste à diviser un ensemble de données selon les indices pairs et impairs. L'opérateur modulo % retourne le reste de la division :

123456789101112
import pandas as pd # Data import data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/IMDb_Data_final.csv') # Rows with even indices (0, 2, 4, ...) even = data.iloc[lambda x: x.index % 2 == 0] print(even.head()) # Rows with odd indices (1, 3, 5, ...) odd = data.iloc[lambda x: x.index % 2 != 0] print(odd.head())
copy

x.index % 2 == 0 est True lorsque l'index est divisible par 2 (pair), et False sinon.

question mark

À quoi fait référence x dans le code suivant ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 5
some-alt