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-funksjoner | Bli Kjent Med Indeksering og Valg av Data
Datahåndtering med Pandas

bookLære om lambda-funksjoner

Sveip for å vise menyen

Note
Definisjon

En lambda-funksjon er en liten, anonym funksjon definert med nøkkelordet lambda. I motsetning til vanlige funksjoner definert med def, har en lambda-funksjon ikke noe navn og er ment for kort, engangsbruk logikk.

Syntaksen er:

lambda arguments: expression

Funksjonen tar arguments og returnerer resultatet av expression. Noen 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

Bruk av lambda med iloc[]

I pandas aksepterer iloc[] vanligvis posisjoner basert på heltall. Du kan imidlertid også sende inn en lambda-funksjon – i dette tilfellet refererer x til selve DataFrame-en, og x.index gir deg radindeksverdiene:

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

Dette returnerer de fem første radene (indeksene 0 til og med 4). Her er hva hver del gjør:

  • lambda x: definerer en anonym funksjon der x er DataFrame-en;
  • x.index: gir tilgang til radindeksverdiene;
  • x.index < 5: filtreringsbetingelsen; kun rader med indeks mindre enn 5 blir valgt.

Resultatet er et boolsk array som iloc[] bruker til å filtrere rader.

Filtrering etter indeksparitet

Et vanlig brukstilfelle er å dele et datasett etter partall- og oddetallsindekser. Modulo-operatoren % returnerer resten etter divisjon:

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 indeksen er delelig med 2 (partall), og False ellers.

question mark

Hva refererer x til i følgende kode?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 5
some-alt