Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Lära Sig om Lambda-Funktioner | Att Bekanta Sig Med Indexering Och Val Av Data
Datahantering med Pandas

bookLära Sig om Lambda-Funktioner

Svep för att visa menyn

Note
Definition

En lambda-funktion är en liten, anonym funktion som definieras med nyckelordet lambda. Till skillnad från vanliga funktioner som definieras med def, har en lambda-funktion inget namn och är avsedd för kort, engångsanvänd logik.

Syntaxen är:

lambda arguments: expression

Funktionen tar arguments och returnerar resultatet av expression. Några enkla exempel:

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

Användning av lambda med iloc[]

I pandas accepterar iloc[] normalt heltalsbaserade positioner. Du kan dock även använda en lambda-funktion – i detta fall syftar x på själva DataFrame-objektet, och x.index ger dig radindexvärdena:

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

Detta returnerar de första fem raderna (index 0 till och med 4). Här är vad varje del gör:

  • lambda x: definierar en anonym funktion där x är DataFrame-objektet;
  • x.index: hämtar radindexvärdena;
  • x.index < 5: filtreringsvillkoret; endast rader vars index är mindre än 5 väljs ut.

Resultatet är en boolesk array som iloc[] använder för att filtrera rader.

Filtrering efter indexparitet

Ett vanligt användningsområde är att dela upp en datamängd efter jämna och udda index. Modulooperatorn % returnerar resten av 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 är True när index är delbart med 2 (jämnt), och False annars.

question mark

Vad syftar x på i följande kod?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 5
some-alt