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
Lära Sig om Lambda-Funktioner
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!