Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Lære om lambda-funktioner | Bliv Fortrolig med Indeksering og Udvælgelse af Data
Data Wrangling med Pandas

bookLære om lambda-funktioner

Stryg for at vise menuen

Note
Definition

En lambda-funktion er en lille, anonym funktion defineret med nøgleordet lambda. I modsætning til almindelige funktioner defineret med def, har en lambda-funktion intet navn og er beregnet til kort, engangsbrug logik.

Syntaksen er:

lambda arguments: expression

Funktionen tager arguments og returnerer resultatet af expression. Et par enkle eksempler:

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

Brug af lambda med iloc[]

I pandas accepterer iloc[] normalt positioner baseret på heltal. Du kan dog også videregive en lambda-funktion – i dette tilfælde refererer x til selve DataFrame, og x.index giver dig rækkeindeks-værdierne:

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

Dette returnerer de første fem rækker (indeks 0 til og med 4). Her er, hvad hver del gør:

  • lambda x: definerer en anonym funktion, hvor x er DataFrame;
  • x.index: tilgår rækkeindeks-værdierne;
  • x.index < 5: filtreringsbetingelsen; kun rækker, hvis indeks er mindre end 5, vælges.

Resultatet er et boolesk array, som iloc[] bruger til at filtrere rækker.

Filtrering efter indeks-paritet

Et almindeligt anvendelsestilfælde er opdeling af et datasæt efter lige og ulige indekser. Modulo-operatoren % returnerer resten af divisionen:

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 er True, når indekset er deleligt med 2 (lige), og False ellers.

question mark

Hvad refererer x til i følgende kode?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 5
some-alt