📖 Scenario: You work as a data analyst for a small retail store. You have collected daily sales data for a week. Your manager wants you to summarize this data to understand the sales performance.
🎯 Goal: You will create a list of daily sales, set a threshold for high sales, filter the sales above this threshold, and then calculate basic descriptive statistics like mean and median for these high sales.
📋 What You'll Learn
Create a list called daily_sales with exact values for 7 days
Create a variable called high_sales_threshold with the value 200
Use a list comprehension to create a list called high_sales containing sales greater than high_sales_threshold
Calculate the mean and median of high_sales using the statistics module
Print the mean and median values exactly as shown
💡 Why This Matters
🌍 Real World
Retail stores and many businesses collect daily sales data. Summarizing this data helps managers understand performance and make decisions.
💼 Career
Data analysts often need to clean, filter, and summarize data using descriptive statistics to provide insights to stakeholders.
Progress0 / 4 steps
1
Create the daily sales data
Create a list called daily_sales with these exact values: [150, 220, 180, 300, 250, 90, 400]
Data Analysis Python
Hint
Use square brackets to create a list and separate the numbers with commas.
2
Set the high sales threshold
Create a variable called high_sales_threshold and set it to 200
Data Analysis Python
Hint
Just assign the number 200 to the variable high_sales_threshold.
3
Filter high sales using list comprehension
Use a list comprehension to create a list called high_sales that contains only the sales from daily_sales greater than high_sales_threshold
Data Analysis Python
Hint
Use the syntax: [item for item in list if condition].
4
Calculate and print mean and median of high sales
Import the statistics module. Calculate the mean and median of high_sales using statistics.mean() and statistics.median(). Then print the results exactly as: Mean: <mean_value> and Median: <median_value>
Data Analysis Python
Hint
Use import statistics at the top. Then use statistics.mean(high_sales) and statistics.median(high_sales). Use f-strings to print.
Practice
(1/5)
1. Which of the following best describes the median in a dataset?
easy
A. The middle value when data is sorted from smallest to largest
B. The most frequently occurring value in the data
C. The average of all values in the data
D. The difference between the largest and smallest values
Solution
Step 1: Understand what median means
The median is the value that lies in the middle of a sorted list of numbers.
Step 2: Compare with other options
Mode is the most frequent value, mean is the average, and range is max-min.
Final Answer:
The middle value when data is sorted from smallest to largest -> Option A
Quick Check:
Median = middle value [OK]
Hint: Median splits sorted data in half [OK]
Common Mistakes:
Confusing median with mean
Thinking median is the most frequent value
Mixing median with range
2. Which of the following is the correct way to get descriptive statistics of a pandas DataFrame df?
easy
A. describe(df)
B. df.summary()
C. df.describe()
D. df.stats()
Solution
Step 1: Recall pandas method for summary
In pandas, describe() is the method to get descriptive stats.
Step 2: Check other options
Methods like summary(), stats() do not exist in pandas, and describe(df) is not valid syntax.
Final Answer:
df.describe() -> Option C
Quick Check:
Use df.describe() for stats [OK]
Hint: Use df.describe() for quick stats [OK]
Common Mistakes:
Using non-existent methods like summary()
Calling describe as a function with df argument
Confusing with other libraries
3. Given the following code, what will be the output of print(df.mean())?
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
medium
A. A 2.0
B 5.0
dtype: float64
B. A 3.0
B 6.0
dtype: int64
C. A 1.5
B 4.5
dtype: float64
D. Error: mean() not defined
Solution
Step 1: Calculate mean for each column
Column A values: 1, 2, 3; mean = (1+2+3)/3 = 2.0. Column B values: 4, 5, 6; mean = (4+5+6)/3 = 5.0.
Step 2: Understand pandas output format
Printing df.mean() shows means per column with dtype float64.
Final Answer:
A 2.0
B 5.0
dtype: float64 -> Option A
Quick Check:
Mean = sum/number of values [OK]
Hint: Mean = sum of values divided by count [OK]
Common Mistakes:
Calculating median instead of mean
Mixing up column values
Expecting integer dtype instead of float
4. The following code is intended to calculate the standard deviation of column 'X' in DataFrame df. What is the error?
import pandas as pd
data = {'X': [10, 20, 30, 40]}
df = pd.DataFrame(data)
std_dev = df.std('X')
print(std_dev)
medium
A. DataFrame std() method requires axis=1 argument
B. The std() method does not take any arguments; column must be selected first
C. The code should use df['X'].variance() instead
D. No error; code runs correctly
Solution
Step 1: Check std() method usage
In pandas, std() calculates standard deviation for all numeric columns or Series. It does not accept a column name as argument.
Step 2: Correct way to get std of column 'X'
We must select the column first: df['X'].std().
Final Answer:
The std() method does not take any arguments; column must be selected first -> Option B
Quick Check:
Use df['X'].std() to get column std [OK]
Hint: Select column before std() call [OK]
Common Mistakes:
Passing column name as argument to std()
Using variance() instead of std()
Assuming std() needs axis=1
5. You have a DataFrame df with columns 'Age' and 'Salary'. You want to find the average salary for people older than 30. Which code correctly does this?
hard
A. df['Salary'].mean(df['Age'] > 30)
B. df['Salary'].mean().filter(df['Age'] > 30)
C. df.mean()['Salary'][df['Age'] > 30]
D. df[df['Age'] > 30]['Salary'].mean()
Solution
Step 1: Filter rows where Age > 30
Use boolean indexing: df[df['Age'] > 30] selects rows with Age greater than 30.
Step 2: Select 'Salary' column and calculate mean
From filtered rows, select 'Salary' column and call mean() to get average salary.
Final Answer:
df[df['Age'] > 30]['Salary'].mean() -> Option D
Quick Check:
Filter then mean for conditional average [OK]
Hint: Filter rows first, then calculate mean [OK]
Common Mistakes:
Passing condition inside mean()
Trying to filter after mean()
Using mean() on entire DataFrame
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.