Pandas - Apply Custom Function with Multiple Conditions in a DataFrame
Pandas: Custom Function Exercise-14 with Solution
Write a Pandas program that uses apply() function to create a new column based on multiple conditions.
This exercise demonstrates how to apply a custom function with multiple conditions to create a new column in a DataFrame.
Sample Solution :
Code :
import pandas as pd
# Create a sample DataFrame
df = pd.DataFrame({
'A': [10, 15, 30],
'B': [20, 25, 10]
})
# Define a function with multiple conditions
def categorize(row):
if row['A'] > 20 and row['B'] > 20:
return 'High-High'
elif row['A'] > 20:
return 'High-Low'
elif row['B'] > 20:
return 'Low-High'
else:
return 'Low-Low'
# Apply the function row-wise to create a new category column
df['Category'] = df.apply(categorize, axis=1)
# Output the result
print(df)
Output:
A B Category 0 10 20 Low-Low 1 15 25 Low-High 2 30 10 High-Low
Explanation:
- Created a DataFrame with columns 'A' and 'B'.
- Defined a function categorize() that checks multiple conditions based on the values in columns 'A' and 'B'.
- Applied the function row-wise using apply() with axis=1.
- Created a new column 'Category' containing labels based on the conditions.
Python-Pandas Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics