Bird
Raised Fist0
Data Analysis Pythondata~30 mins

Aggregation functions (sum, mean, std) in Data Analysis Python - Mini Project: Build & Apply

Choose your learning style10 modes available
Aggregation functions (sum, mean, std)
📖 Scenario: You work in a small store and have a list of daily sales amounts in dollars. You want to understand the total sales, the average sales per day, and how much the sales vary from day to day.
🎯 Goal: Build a simple Python program that calculates the total sales, average sales, and standard deviation of sales from a list of daily sales amounts.
📋 What You'll Learn
Create a list of daily sales amounts with exact values
Create a variable to hold the number of days
Calculate the sum, mean, and standard deviation of the sales using Python code
Print the results clearly
💡 Why This Matters
🌍 Real World
Stores and businesses often analyze daily sales to understand performance and plan inventory.
💼 Career
Data analysts and business analysts use aggregation functions like sum, mean, and standard deviation to summarize and interpret data.
Progress0 / 4 steps
1
Create the sales data list
Create a list called daily_sales with these exact values: 150, 200, 170, 220, 180.
Data Analysis Python
Hint

Use square brackets to create a list and separate numbers with commas.

2
Create a variable for the number of days
Create a variable called num_days that stores the length of the daily_sales list using the len() function.
Data Analysis Python
Hint

Use len(daily_sales) to get the number of items in the list.

3
Calculate sum, mean, and standard deviation
Calculate the total sales as total_sales using the sum() function on daily_sales. Calculate the average sales as average_sales by dividing total_sales by num_days. Calculate the standard deviation as std_dev using the formula: square root of the average of squared differences from the mean. Use import math and math.sqrt() for the square root.
Data Analysis Python
Hint

Use a list comprehension to calculate squared differences from the mean.

4
Print the results
Print the total_sales, average_sales, and std_dev variables each on a separate line with clear labels using print().
Data Analysis Python
Hint

Use print(f"Label: {variable}") to show the results clearly.

Practice

(1/5)
1. What does the mean() function calculate in a dataset?
easy
A. The most frequent value in the data
B. The total sum of all data points
C. The difference between the largest and smallest values
D. The average value of the data

Solution

  1. Step 1: Understand the purpose of mean()

    The mean() function calculates the average by adding all values and dividing by the count.
  2. Step 2: Compare with other options

    Sum is total, range is difference, mode is most frequent. Only mean is average.
  3. Final Answer:

    The average value of the data -> Option D
  4. Quick Check:

    mean = average [OK]
Hint: Mean is average, sum is total, std is spread [OK]
Common Mistakes:
  • Confusing mean with sum
  • Thinking mean finds the most frequent value
  • Mixing mean with range or mode
2. Which of the following is the correct way to calculate the standard deviation of a pandas DataFrame column named data?
easy
A. df.std(data)
B. std(df['data'])
C. df.data.std()
D. df['data'].standard_deviation()

Solution

  1. Step 1: Recall pandas syntax for std()

    In pandas, to get std of a column, use df.column.std() or df['column'].std().
  2. Step 2: Check each option

    df.data.std() uses correct dot notation. df.std(data) is wrong syntax. std(df['data']) is not a pandas function call. df['data'].standard_deviation() uses a non-existent method.
  3. Final Answer:

    df.data.std() -> Option C
  4. Quick Check:

    Use dot notation with std() [OK]
Hint: Use df.column.std() to get standard deviation [OK]
Common Mistakes:
  • Calling std() as a standalone function
  • Using wrong method names
  • Passing column name as argument to std()
3. Given the following code:
import pandas as pd
df = pd.DataFrame({'values': [10, 20, 30, 40, 50]})
result = df['values'].sum()

What is the value of result?
medium
A. 150
B. 30
C. 25
D. 10

Solution

  1. Step 1: Identify the data values

    The column 'values' contains [10, 20, 30, 40, 50].
  2. Step 2: Calculate the sum

    Sum = 10 + 20 + 30 + 40 + 50 = 150.
  3. Final Answer:

    150 -> Option A
  4. Quick Check:

    Sum of values = 150 [OK]
Hint: Add all numbers to get sum [OK]
Common Mistakes:
  • Calculating mean instead of sum
  • Adding only first two numbers
  • Confusing sum with count
4. The following code is intended to calculate the mean of a list but causes an error:
import pandas as pd
numbers = [5, 10, 15]
mean_value = numbers.mean()

What is the error and how to fix it?
medium
A. Error: 'list' object has no attribute 'mean'. Fix by converting list to pandas Series first.
B. Error: mean() requires two arguments. Fix by adding an argument.
C. Error: mean() is not imported. Fix by importing mean from pandas.
D. No error, code runs correctly.

Solution

  1. Step 1: Identify the error cause

    Python lists do not have a mean() method, so calling numbers.mean() causes an AttributeError.
  2. Step 2: Fix by converting list to pandas Series

    Convert list to pd.Series(numbers) then call .mean() to get the average.
  3. Final Answer:

    Error: 'list' object has no attribute 'mean'. Fix by converting list to pandas Series first. -> Option A
  4. Quick Check:

    Lists lack mean(), use pd.Series [OK]
Hint: Convert list to Series before calling mean() [OK]
Common Mistakes:
  • Calling mean() directly on list
  • Trying to import mean() separately
  • Assuming mean() needs arguments
5. You have a DataFrame df with a column scores containing exam scores. You want to find the average score but only for scores above 50. Which code correctly calculates this?
hard
A. df['scores'].mean(df['scores'] > 50)
B. df[df['scores'] > 50]['scores'].mean()
C. df['scores'].sum() / 50
D. df['scores'].std()[df['scores'] > 50]

Solution

  1. Step 1: Filter scores greater than 50

    Use df[df['scores'] > 50] to select rows where scores are above 50.
  2. Step 2: Calculate mean of filtered scores

    Access the 'scores' column of filtered data and call .mean() to get average.
  3. Final Answer:

    df[df['scores'] > 50]['scores'].mean() -> Option B
  4. Quick Check:

    Filter then mean = correct approach [OK]
Hint: Filter first, then apply mean() [OK]
Common Mistakes:
  • Passing condition inside mean()
  • Dividing sum by 50 instead of count
  • Using std() instead of mean()
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard