Apprendimento delle funzioni lambda
Scorri per mostrare il menu
Una funzione lambda è una piccola funzione anonima definita con la parola chiave lambda. A differenza delle funzioni regolari definite con def, una funzione lambda non ha nome ed è pensata per logiche brevi e di utilizzo singolo.
La sintassi è:
lambda arguments: expression
La funzione accetta gli arguments e restituisce il risultato dell'expression. Alcuni semplici esempi:
12345double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
Utilizzo di lambda con iloc[]
In pandas, iloc[] normalmente accetta posizioni basate su interi. Tuttavia, è anche possibile passare una funzione lambda – in questo caso, x si riferisce al DataFrame stesso e x.index restituisce i valori degli indici delle righe:
data.iloc[lambda x: x.index < 5]
Questo restituisce le prime cinque righe (indici da 0 a 4). Ecco cosa fa ciascuna parte:
lambda x: definisce una funzione anonima dovexè il DataFrame;x.index: accede ai valori degli indici delle righe;x.index < 5: condizione di filtraggio; vengono selezionate solo le righe il cui indice è inferiore a5.
Il risultato è un array booleano che iloc[] utilizza per filtrare le righe.
Filtraggio per parità dell'indice
Un caso d'uso comune è la suddivisione di un dataset in base a indici pari e dispari. L'operatore modulo % restituisce il resto della divisione:
123456789101112import 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())
x.index % 2 == 0 è True quando l'indice è divisibile per 2 (pari), e False altrimenti.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione