Lära Sig om Lambda-Funktioner
Svep för att visa menyn
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:
12345double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
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ärxär DataFrame-objektet;x.index: hämtar radindexvärdena;x.index < 5: filtreringsvillkoret; endast rader vars index är mindre än5vä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:
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 är True när index är delbart med 2 (jämnt), och False annars.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal