It lets you run a function on each row or column of a DataFrame or on each element of a Series, making it easy to transform data.
Click to reveal answer
beginner
How do lambda functions help when using apply()?
Lambda functions let you write small, quick functions directly inside <code>apply()</code> without needing to define a separate function first.
Click to reveal answer
beginner
Example: What does this code do?
df['new'] = df['old'].apply(lambda x: x * 2)
It creates a new column called 'new' where each value is double the corresponding value in the 'old' column.
Click to reveal answer
intermediate
What argument do you use with apply() to apply a function across rows instead of columns?
Use axis=1 to apply the function across rows. The default is axis=0 for columns.
Click to reveal answer
beginner
Can apply() with lambda functions be used on both Series and DataFrames?
Yes, apply() works on Series to apply a function to each element, and on DataFrames to apply a function to each column or row.
Click to reveal answer
What does df['col'].apply(lambda x: x + 1) do?
AAdds 1 to the first value only
BAdds 1 to the entire column
CRemoves 1 from each value in 'col'
DAdds 1 to each value in 'col'
✗ Incorrect
The lambda function adds 1 to each element in the 'col' column.
Which apply() argument applies a function across rows in a DataFrame?
Aaxis=0
Baxis=1
Crow=True
Dcolumns=True
✗ Incorrect
axis=1 applies the function across rows.
What type of function is commonly used inside apply() for quick operations?
ALambda function
BRecursive function
CGenerator function
DDecorator function
✗ Incorrect
Lambda functions are small, quick functions often used inside apply().
If you want to apply a function to each column in a DataFrame, which axis do you use?
Aaxis=0
Baxis=1
Caxis=2
Daxis=-1
✗ Incorrect
axis=0 applies the function to each column.
Can apply() change the data type of a column?
AOnly for numeric columns
BNo, data types are fixed
CYes, if the function returns a different type
DOnly for string columns
✗ Incorrect
If the function returns a different type, the column's data type can change.
Explain how apply() works with lambda functions on a pandas DataFrame.
Think about how you can quickly change data in a table using small functions.
You got /4 concepts.
Describe a real-life example where you might use apply() with a lambda function in data analysis.
Imagine you have a list of prices and want to add tax to each price.
You got /4 concepts.
Practice
(1/5)
1. What does the apply() function with a lambda do in pandas?
easy
A. It sorts the DataFrame by column values.
B. It applies a small function to each element in a DataFrame column or row.
C. It merges two DataFrames based on a key.
D. It creates a new DataFrame from scratch.
Solution
Step 1: Understand the purpose of apply() with lambda
The apply() method lets you run a function on each element or row/column of a DataFrame or Series.
Step 2: Recognize what lambda does
A lambda is a small anonymous function used inside apply() to specify what to do with each element.
Final Answer:
It applies a small function to each element in a DataFrame column or row. -> Option B
Quick Check:
apply() + lambda = element-wise function [OK]
Hint: apply() runs a function on each item quickly [OK]
Common Mistakes:
Thinking apply() sorts data
Confusing apply() with merge or join
Believing apply() creates new DataFrames
2. Which of the following is the correct syntax to use apply() with a lambda on a pandas Series named data to double each value?
easy
A. data.apply(lambda x: x * 2)
B. data.apply(x => x * 2)
C. apply(data, lambda x: x * 2)
D. data.apply(lambda x x * 2)
Solution
Step 1: Recall correct lambda syntax in Python
Python lambda functions use the format lambda x: expression, so lambda x: x * 2 is correct.
Step 2: Check apply() usage on Series
The method call is data.apply(lambda x: x * 2). Other options have syntax errors or wrong order.
Final Answer:
data.apply(lambda x: x * 2) -> Option A
Quick Check:
Correct lambda syntax = data.apply(lambda x: x * 2) [OK]
Hint: Use colon after lambda parameter: lambda x: ... [OK]
Common Mistakes:
Using arrow syntax (=>) from other languages
Missing colon after lambda parameter
Calling apply() as a standalone function
3. Given the DataFrame:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3]})
df['B'] = df['A'].apply(lambda x: x + 5)
print(df)
What is the output?
medium
A. Error: lambda function syntax
B. A B
0 1 5
1 2 6
2 3 7
C. A B
0 1 6
1 2 7
2 3 8
D. A B
0 6 1
1 7 2
2 8 3
Solution
Step 1: Understand the lambda function applied
The lambda adds 5 to each value in column 'A'. So 1+5=6, 2+5=7, 3+5=8.
Step 2: Check DataFrame after assignment
Column 'B' gets these new values, while 'A' remains unchanged.
Final Answer:
A B
0 1 6
1 2 7
2 3 8 -> Option C
Quick Check:
Original + 5 = New column [OK]
Hint: apply() changes each value as per lambda [OK]
Common Mistakes:
Mixing up columns A and B
Forgetting to add 5 inside lambda
Expecting error from correct syntax
4. What is wrong with this code snippet?
df['C'] = df['A'].apply(lambda x x * 3)
medium
A. Missing colon after lambda parameter causes syntax error.
B. apply() cannot be used on DataFrame columns.
C. lambda functions cannot multiply values.
D. Column 'C' does not exist yet.
Solution
Step 1: Check lambda function syntax
Python lambda requires a colon after parameters: lambda x: x * 3. The code misses the colon.
Step 2: Understand error cause
Missing colon causes a syntax error, so code won't run.
Final Answer:
Missing colon after lambda parameter causes syntax error. -> Option A
Quick Check:
lambda syntax error = missing colon [OK]
Hint: Always put colon after lambda parameters [OK]
Common Mistakes:
Forgetting colon after lambda parameter
Thinking apply() can't be used on columns
Assuming new columns must exist before assignment
5. You have a DataFrame df with a column 'score' containing numbers. You want to create a new column 'grade' that says 'Pass' if the score is 50 or more, and 'Fail' otherwise. Which code correctly uses apply() with a lambda to do this?
hard
A. df['grade'] = df.apply(lambda x: 'Pass' if x['score'] >= 50 else 'Fail')
B. df['grade'] = df['score'].apply(lambda x: if x >= 50 then 'Pass' else 'Fail')
C. df['grade'] = df['score'].apply(lambda x: x >= 50 ? 'Pass' : 'Fail')
D. df['grade'] = df['score'].apply(lambda x: 'Pass' if x >= 50 else 'Fail')
Solution
Step 1: Understand conditional expression in lambda
Python uses value_if_true if condition else value_if_false syntax inside lambda.
Step 2: Check application target and syntax
Applying to the Series df['score'] with lambda x: 'Pass' if x >= 50 else 'Fail' is correct, as x is each scalar score. Applying to the whole df (without axis=1) passes column Series to lambda, where x['score'] causes KeyError. Syntaxes like ? : ternary or if-then are invalid in Python.
Final Answer:
df['grade'] = df['score'].apply(lambda x: 'Pass' if x >= 50 else 'Fail') -> Option D
Quick Check:
Correct if-else in lambda = df['grade'] = df['score'].apply(lambda x: 'Pass' if x >= 50 else 'Fail') [OK]
Hint: Use Python's if-else inside lambda: val_if_true if cond else val_if_false [OK]
Common Mistakes:
Using ?: ternary operator from other languages
Applying lambda on whole DataFrame without axis
Writing if-else without proper Python syntax
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.