📖 Scenario: You are a data analyst working with daily temperatures recorded over a week. You want to understand how much the temperatures vary each day.
🎯 Goal: Calculate the variance and standard deviation of the temperature data using np.var() and np.std() to measure the spread of the temperatures.
📋 What You'll Learn
Create a numpy array called temperatures with the exact values: 22, 24, 19, 23, 25, 20, 21
Create a variable called ddof and set it to 0
Calculate the variance of temperatures using np.var() with ddof and store it in variance
Calculate the standard deviation of temperatures using np.std() with ddof and store it in std_dev
Print the values of variance and std_dev
💡 Why This Matters
🌍 Real World
Understanding data spread helps in weather forecasting, quality control, and risk assessment by showing how much data varies.
💼 Career
Data scientists and analysts use variance and standard deviation to summarize data variability and make informed decisions.
Progress0 / 4 steps
1
Create the temperature data array
Create a numpy array called temperatures with these exact values: 22, 24, 19, 23, 25, 20, 21
NumPy
Hint
Use np.array() to create the array with the exact numbers inside square brackets.
2
Set the degrees of freedom variable
Create a variable called ddof and set it to 0
NumPy
Hint
Just assign 0 to the variable ddof.
3
Calculate variance and standard deviation
Calculate the variance of temperatures using np.var() with ddof and store it in variance. Then calculate the standard deviation using np.std() with ddof and store it in std_dev.
NumPy
Hint
Use np.var(temperatures, ddof=ddof) and np.std(temperatures, ddof=ddof) to calculate the spread.
4
Print the variance and standard deviation
Print the values of variance and std_dev on separate lines.
NumPy
Hint
Use two print() statements, one for variance and one for std_dev.
Practice
(1/5)
1. What does np.std() measure in a dataset?
easy
A. The maximum value in the dataset
B. The sum of all data points
C. The average distance of data points from the mean in original units
D. The total number of data points
Solution
Step 1: Understand the purpose of np.std()
np.std() calculates the standard deviation, which shows how spread out the data is around the mean in the same units as the data.
Step 2: Compare options to definition
Only The average distance of data points from the mean in original units correctly describes this as the average distance from the mean in original units.
Final Answer:
The average distance of data points from the mean in original units -> Option C
Quick Check:
Standard deviation = average spread in original units [OK]
Hint: Standard deviation = spread in original units [OK]
Common Mistakes:
Confusing standard deviation with variance
Thinking it counts data points
Mixing it with sum or max values
2. Which of the following is the correct syntax to calculate variance of array arr using NumPy?
easy
A. np.std(arr)
B. np.variance(arr)
C. arr.var()
D. np.var(arr)
Solution
Step 1: Recall the NumPy function for variance
The correct NumPy function to calculate variance is np.var().
Step 2: Check each option
np.var(arr) uses np.var(arr) which is correct. np.variance(arr) uses a non-existent function np.variance(). arr.var() uses arr.var() which works only if arr is a NumPy array, but the question asks for NumPy function syntax. np.std(arr) calculates standard deviation, not variance.
Final Answer:
np.var(arr) -> Option D
Quick Check:
Variance function = np.var() [OK]
Hint: Variance uses np.var(), not np.variance() [OK]
Common Mistakes:
Using np.variance() which does not exist
Confusing variance with standard deviation function
The array is [2,4,4,4,5,5,7,9]. Sum = 40, count = 8, mean = 40/8 = 5.
Step 2: Calculate variance
Variance = average of squared differences from mean: (2-5)^2=9, (4-5)^2=1, (4-5)^2=1, (4-5)^2=1, (5-5)^2=0, (5-5)^2=0, (7-5)^2=4, (9-5)^2=16 Sum = 9+1+1+1+0+0+4+16 = 32 Variance = 32/8 = 4.0
Step 3: Check code output
NumPy's np.var() by default calculates population variance (divides by N). So output is 4.0.
Final Answer:
4.0 -> Option B
Quick Check:
Variance = 4.0 [OK]
Hint: Variance = mean of squared differences [OK]
Common Mistakes:
Calculating sample variance (dividing by N-1) instead of population
Mixing variance with standard deviation
Incorrect mean calculation
4. The code below is intended to print the standard deviation of data. What is wrong?
import numpy as np
data = [1, 2, 3, 4, 5]
print(np.std(data, ddof=1))
medium
A. Nothing is wrong; code runs correctly
B. ddof is not a valid argument for np.std()
C. The code will raise a TypeError because data is a list, not an array
D. The code calculates variance, not standard deviation
Solution
Step 1: Check if ddof is valid for np.std()
The ddof parameter (delta degrees of freedom) is valid for np.std() and adjusts divisor for sample standard deviation.
Step 2: Check if input type is acceptable
np.std() accepts lists and converts them internally to arrays, so no error occurs.
Final Answer:
Nothing is wrong; code runs correctly -> Option A
Quick Check:
ddof works with np.std() and lists accepted [OK]
Hint: ddof works with np.std() for sample std [OK]
Common Mistakes:
Thinking ddof is invalid for standard deviation
Assuming lists cause errors in NumPy functions
Confusing variance and standard deviation
5. You have two datasets: data1 = np.array([10, 12, 14, 16, 18]) data2 = np.array([10, 10, 10, 10, 10]) Which statement is true about their standard deviation and variance?
hard
A. data1 has higher variance and standard deviation than data2
B. data2 has zero variance and standard deviation
C. data2 has higher variance but lower standard deviation than data1
D. Both datasets have the same variance and standard deviation
Solution
Step 1: Analyze data2 values
All values in data2 are the same (10), so variance and standard deviation must be zero because there is no spread.
Step 2: Analyze data1 values
data1 values vary from 10 to 18, so variance and standard deviation are greater than zero, meaning data1 has higher spread.
Final Answer:
data1 has higher variance and standard deviation than data2 -> Option A
Quick Check:
Constant data variance = 0; varying data variance > 0 [OK]
Hint: Constant data has zero variance and std [OK]
Common Mistakes:
Assuming equal variance for different spread data
Confusing variance with mean
Thinking zero variance means error
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.