A custom function is a user-defined block of code that performs a specific task on pandas data structures like DataFrames or Series. It helps automate repetitive tasks and makes code reusable.
Click to reveal answer
beginner
Why should you use custom functions when working with pandas?
Custom functions save time by automating repeated steps, make code easier to read and maintain, and allow you to apply the same logic to different data easily.
Click to reveal answer
intermediate
How do custom functions improve data analysis workflows?
They let you break complex tasks into smaller, manageable parts, reuse code across projects, and reduce errors by testing functions separately.
Click to reveal answer
beginner
Example: What does this custom function do?
def add_tax(price):
return price * 1.1
This function takes a price value and returns the price including a 10% tax. It can be applied to a pandas column to add tax to all prices.
Click to reveal answer
beginner
How can you apply a custom function to a pandas DataFrame column?
Use the apply() method on the DataFrame column and pass your custom function. For example: df['price_with_tax'] = df['price'].apply(add_tax).
Click to reveal answer
What is the main benefit of using custom functions in pandas?
ATo slow down the code
BTo make data larger
CTo automate repetitive tasks and reuse code
DTo delete data columns
✗ Incorrect
Custom functions help automate repetitive tasks and make code reusable, improving efficiency.
Which pandas method is commonly used to apply a custom function to a DataFrame column?
Aapply()
Bfilter()
Cgroupby()
Dmerge()
✗ Incorrect
The apply() method lets you run a custom function on each element of a DataFrame column.
What does this custom function do?
def double(x):
return x * 2
ADoubles the input value
BHalves the input value
CReturns zero
DReturns the input unchanged
✗ Incorrect
The function multiplies the input by 2, doubling it.
Why is breaking tasks into custom functions helpful?
AIt makes code harder to read
BIt slows down analysis
CIt deletes data automatically
DIt helps organize and reuse code
✗ Incorrect
Breaking tasks into functions organizes code and allows reuse, making analysis easier.
Which of these is NOT a reason to use custom functions in pandas?
AReduce errors by testing small parts
BIncrease manual repetitive work
CMake code reusable
DSimplify complex tasks
✗ Incorrect
Custom functions reduce manual repetitive work, not increase it.
Explain why custom functions are important when working with pandas DataFrames.
Think about how functions save time and reduce mistakes.
You got /4 concepts.
Describe how you would use a custom function to modify a column in a pandas DataFrame.
Remember the apply() method is key.
You got /3 concepts.
Practice
(1/5)
1. Why do we use custom functions when working with pandas DataFrames?
easy
A. To reuse code and make data changes clear and simple
B. To make the DataFrame larger automatically
C. To delete all data quickly
D. To change the pandas version
Solution
Step 1: Understand the purpose of custom functions
Custom functions let us write a piece of code once and use it many times, which saves effort.
Step 2: Connect to pandas usage
In pandas, custom functions help apply the same change or calculation to many rows or columns easily and clearly.
Final Answer:
To reuse code and make data changes clear and simple -> Option A
Quick Check:
Custom functions improve code reuse and clarity [OK]
Hint: Custom functions simplify repeated data changes [OK]
Confusing custom functions with pandas version control
2. Which of the following is the correct way to define a simple custom function in Python to double a number?
easy
A. function double(x) { return x * 2 }
B. def double x: return x * 2
C. def double(x): return x * 2
D. double = x => x * 2
Solution
Step 1: Identify Python function syntax
Python functions start with 'def', followed by the function name and parentheses with parameters.
Step 2: Check each option
def double(x): return x * 2 uses correct Python syntax. function double(x) { return x * 2 } is JavaScript syntax. def double x: return x * 2 misses parentheses. double = x => x * 2 is JavaScript arrow function syntax.
Final Answer:
def double(x): return x * 2 -> Option C
Quick Check:
Python function syntax = def name(params): [OK]
Hint: Python functions start with 'def' and use parentheses [OK]
Common Mistakes:
Using JavaScript syntax in Python
Omitting parentheses in function definition
Confusing arrow functions with Python syntax
3. Given the code below, what will be the output of df['new']?
import pandas as pd
def add_five(x):
return x + 5
df = pd.DataFrame({'num': [1, 2, 3]})
df['new'] = df['num'].apply(add_five)
print(df['new'])
medium
A. [1, 2, 3]
B. [6, 7, 8]
C. [5, 6, 7]
D. Error: add_five is not defined
Solution
Step 1: Understand the function add_five
The function adds 5 to the input number.
Step 2: Apply the function to each element in 'num'
Applying add_five to [1, 2, 3] results in [6, 7, 8].
Final Answer:
[6, 7, 8] -> Option B
Quick Check:
1+5=6, 2+5=7, 3+5=8 [OK]
Hint: Apply adds function result to each element [OK]
Common Mistakes:
Thinking apply changes original column without assignment
Confusing function name or missing definition
Expecting original values without addition
4. What is wrong with this code snippet?
import pandas as pd
def multiply_by_two(x):
x * 2
df = pd.DataFrame({'val': [4, 5, 6]})
df['result'] = df['val'].apply(multiply_by_two)
print(df['result'])
medium
A. The DataFrame is not imported correctly
B. The DataFrame is missing a column
C. apply() cannot be used with custom functions
D. The function multiply_by_two does not return a value
Solution
Step 1: Check the function multiply_by_two
The function calculates x * 2 but does not return the result.
Step 2: Understand apply behavior
apply expects the function to return a value to create the new column. Without return, it returns None for each row.
Final Answer:
The function multiply_by_two does not return a value -> Option D
Quick Check:
Functions must return values for apply to work [OK]
Hint: Always return a value in your custom function [OK]
Common Mistakes:
Forgetting the return statement in functions
Assuming apply works without returned values
Thinking DataFrame import affects apply
5. You have a DataFrame with a column 'score' containing numbers. You want to create a new column 'grade' that assigns 'Pass' if the score is 50 or more, and 'Fail' otherwise. Which custom function and pandas code correctly achieve this?
hard
A. def grade_func(x): return 'Pass' if x >= 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func)
B. def grade_func(x): if x >= 50: 'Pass' else: 'Fail'
df['grade'] = df['score'].apply(grade_func)
C. def grade_func(x): return x >= 50 or 'Pass' and 'Fail'
df['grade'] = df['score'].apply(grade_func)
D. def grade_func(x): return 'Pass' if x > 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func)
Solution
Step 1: Check the function logic for grading
def grade_func(x): return 'Pass' if x >= 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func) correctly returns 'Pass' if x is 50 or more, else 'Fail'. def grade_func(x): if x >= 50: 'Pass' else: 'Fail'
df['grade'] = df['score'].apply(grade_func) misses return statement. def grade_func(x): return x >= 50 or 'Pass' and 'Fail'
df['grade'] = df['score'].apply(grade_func) uses incorrect logical operators, resulting in True or 'Fail'. def grade_func(x): return 'Pass' if x > 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func) uses > 50, which excludes 50.
Step 2: Confirm pandas apply usage
All options use apply correctly, but only def grade_func(x): return 'Pass' if x >= 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func) has correct function logic and syntax.
Final Answer:
def grade_func(x): return 'Pass' if x >= 50 else 'Fail'
df['grade'] = df['score'].apply(grade_func) -> Option A
Quick Check:
Use return with correct condition for grading [OK]
Hint: Use return and correct condition in custom function [OK]
Common Mistakes:
Forgetting return in function
Using wrong comparison operator
Confusing logical expressions without return
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.