Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Aggregation functions (sum, mean, count) in Data Analysis Python

Choose your learning style10 modes available
Introduction

Aggregation functions help us quickly find totals, averages, or counts from data. They make it easy to understand big data by summarizing it.

You want to find the total sales from a list of daily sales numbers.
You need to calculate the average temperature from a week of weather data.
You want to count how many customers visited a store in a month.
You want to summarize survey results by counting responses.
You want to find the total number of products sold in different categories.
Syntax
Data Analysis Python
data['column_name'].sum()
data['column_name'].mean()
data['column_name'].count()

Replace data with your data table or DataFrame.

Replace column_name with the name of the column you want to analyze.

Examples
Calculates the total sales amount from the 'amount' column.
Data Analysis Python
sales['amount'].sum()
Finds the average daily temperature from the 'day_temp' column.
Data Analysis Python
temperature['day_temp'].mean()
Counts how many customer IDs are recorded, showing total visits.
Data Analysis Python
visits['customer_id'].count()
Sample Program

This program creates a small table of sales amounts for five days. It then calculates the total sales, average sales, and counts how many sales entries there are. Finally, it prints these results.

Data Analysis Python
import pandas as pd

# Create a simple data table with sales data
sales = pd.DataFrame({
    'day': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
    'amount': [100, 150, 200, 130, 170]
})

# Calculate total sales
total_sales = sales['amount'].sum()

# Calculate average sales
average_sales = sales['amount'].mean()

# Count number of sales entries
count_sales = sales['amount'].count()

print(f"Total sales: {total_sales}")
print(f"Average sales: {average_sales}")
print(f"Number of sales entries: {count_sales}")
OutputSuccess
Important Notes

Aggregation functions ignore missing values (NaN) by default.

Use count() to count non-empty values, not the total rows.

Summary

Aggregation functions help summarize data quickly.

sum() adds values, mean() finds average, count() counts entries.

These functions work on columns of data in tables or DataFrames.

Practice

(1/5)
1. What does the sum() function do when applied to a column of numbers in a DataFrame?
easy
A. Counts how many numbers are in the column
B. Finds the middle value of the numbers
C. Adds all the numbers together to get a total
D. Sorts the numbers from smallest to largest

Solution

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

    The sum() function adds all values in a column to get their total.
  2. Step 2: Compare with other functions

    mean() finds average, count() counts entries, so they do different things.
  3. Final Answer:

    Adds all the numbers together to get a total -> Option C
  4. Quick Check:

    sum() = total of values [OK]
Hint: Sum adds values, mean averages, count counts entries [OK]
Common Mistakes:
  • Confusing sum() with mean()
  • Thinking sum() counts entries
  • Assuming sum() sorts data
2. Which of the following is the correct way to calculate the average of a DataFrame column named sales using pandas?
easy
A. df.sales.sum() / df.sales.count()
B. df.mean('sales')
C. mean(df.sales)
D. df['sales'].mean()

Solution

  1. Step 1: Identify correct pandas syntax for mean()

    In pandas, to get the mean of a column, use df['column'].mean().
  2. Step 2: Check other options

    df.mean('sales') is invalid syntax; mean(df.sales) is not pandas method; df.sales.sum() / df.sales.count() works but is longer and less direct.
  3. Final Answer:

    df['sales'].mean() -> Option D
  4. Quick Check:

    Use df['column'].mean() for average [OK]
Hint: Use df['col'].mean() to get average quickly [OK]
Common Mistakes:
  • Using mean() as a standalone function
  • Passing column name as argument to df.mean()
  • Dividing sum by count manually instead of mean()
3. Given the DataFrame df below:
import pandas as pd
data = {'score': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

What is the output of df['score'].count()?
medium
A. 5
B. 150
C. 30
D. Error

Solution

  1. Step 1: Understand what count() does on a column

    count() counts the number of non-missing entries in the column. Here, all 5 values are present.
  2. Step 2: Count the entries in 'score'

    There are 5 numbers: 10, 20, 30, 40, 50, so count() returns 5.
  3. Final Answer:

    5 -> Option A
  4. Quick Check:

    count() = number of entries [OK]
Hint: count() returns number of non-empty entries [OK]
Common Mistakes:
  • Confusing count() with sum()
  • Expecting count() to return total value
  • Thinking count() returns average
4. Consider this code snippet:
import pandas as pd
data = {'values': [5, None, 15, 20]}
df = pd.DataFrame(data)
result = df['values'].sum()

What is the value of result?
medium
A. 40
B. None
C. Error
D. 20

Solution

  1. Step 1: Understand how sum() handles None values

    In pandas, sum() ignores None (missing) values and sums only the numbers.
  2. Step 2: Calculate sum ignoring None

    Values are 5, None, 15, 20. Sum = 5 + 15 + 20 = 40.
  3. Final Answer:

    40 -> Option A
  4. Quick Check:

    sum() skips None and adds numbers [OK]
Hint: sum() ignores None/null values automatically [OK]
Common Mistakes:
  • Expecting sum() to return None if any missing
  • Getting error due to None value
  • Counting None as zero explicitly
5. You have a DataFrame df with a column sales containing daily sales numbers. You want to find the average sales but only for days where sales were above zero. Which code correctly calculates this?
hard
A. df['sales'].mean()
B. df[df['sales'] > 0]['sales'].mean()
C. df['sales'].sum() / df['sales'].count()
D. df['sales'].count() / df['sales'].sum()

Solution

  1. Step 1: Filter rows where sales > 0

    Use df[df['sales'] > 0] to keep only positive sales days.
  2. Step 2: Calculate mean of filtered sales

    Apply ['sales'].mean() on filtered data to get average of positive sales only.
  3. Final Answer:

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

    Filter then mean() for conditional average [OK]
Hint: Filter data first, then apply mean() for conditional average [OK]
Common Mistakes:
  • Using mean() without filtering
  • Dividing sum by count without filtering
  • Swapping sum and count in division
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