0
0
Pandasdata~20 mins

Why grouping data matters in Pandas - Challenge Your Understanding

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Grouping Data Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of GroupBy Sum Aggregation
What is the output of this code that groups sales by product and sums the amounts?
Pandas
import pandas as pd

data = {'product': ['apple', 'banana', 'apple', 'banana', 'apple'],
        'amount': [10, 5, 15, 10, 5]}
df = pd.DataFrame(data)
result = df.groupby('product')['amount'].sum()
print(result)
A
product
apple     10
banana    5
Name: amount, dtype: int64
B
product
apple     15
banana    15
Name: amount, dtype: int64
C
product
apple     30
banana    25
Name: amount, dtype: int64
D
product
apple     30
banana    15
Name: amount, dtype: int64
Attempts:
2 left
💡 Hint
Sum all amounts for each product separately.
data_output
intermediate
1:30remaining
Number of Groups Created by GroupBy
How many groups are created when grouping this DataFrame by the 'category' column?
Pandas
import pandas as pd

data = {'category': ['A', 'B', 'A', 'C', 'B', 'C', 'C'],
        'value': [1, 2, 3, 4, 5, 6, 7]}
df = pd.DataFrame(data)
groups = df.groupby('category')
print(len(groups))
A3
B7
C2
D4
Attempts:
2 left
💡 Hint
Count unique values in 'category'.
visualization
advanced
2:30remaining
Visualizing Grouped Data with Mean Values
Which plot correctly shows the average score per class from the grouped data?
Pandas
import pandas as pd
import matplotlib.pyplot as plt

data = {'class': ['X', 'Y', 'X', 'Y', 'X'], 'score': [80, 90, 70, 85, 75]}
df = pd.DataFrame(data)
grouped = df.groupby('class')['score'].mean()

plt.bar(grouped.index, grouped.values)
plt.xlabel('Class')
plt.ylabel('Average Score')
plt.title('Average Score per Class')
plt.show()
AA line chart with points at X=80 and Y=90.
BA bar chart with two bars labeled X and Y, heights 75 and 87.5 respectively.
CA scatter plot with points for each individual score.
DA pie chart showing proportions of total scores per class.
Attempts:
2 left
💡 Hint
Mean scores are 75 for X and 87.5 for Y.
🔧 Debug
advanced
1:30remaining
Identify the Error in GroupBy Usage
What error does this code raise when grouping by a non-existent column?
Pandas
import pandas as pd

data = {'name': ['Anna', 'Bob'], 'age': [25, 30]}
df = pd.DataFrame(data)
result = df.groupby('salary').mean()
AKeyError: 'salary'
BTypeError: unhashable type: 'list'
CValueError: No numeric types to aggregate
DAttributeError: 'DataFrame' object has no attribute 'groupby'
Attempts:
2 left
💡 Hint
Check if the column exists in the DataFrame.
🚀 Application
expert
2:30remaining
Calculate Total Sales per Region and Month
Given sales data with 'region', 'month', and 'sales' columns, which code correctly groups by region and month and sums sales?
Pandas
import pandas as pd

data = {'region': ['North', 'South', 'North', 'South', 'North'],
        'month': ['Jan', 'Jan', 'Feb', 'Feb', 'Jan'],
        'sales': [100, 200, 150, 250, 50]}
df = pd.DataFrame(data)
Adf.groupby(['region', 'month']).sum()['sales']
Bdf.groupby('region', 'month')['sales'].sum()
Cdf.groupby(['region', 'month'])['sales'].sum()
Ddf.groupby('region')['month']['sales'].sum()
Attempts:
2 left
💡 Hint
Group by both columns using a list, then select 'sales' to sum.