Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Normal distribution with normal()
📖 Scenario: You work in a bakery that wants to understand the daily weight of its bread loaves. The weights usually follow a normal pattern, with most loaves close to the average weight but some lighter or heavier.
🎯 Goal: You will create a list of bread weights using the normal distribution. Then, you will set the average weight and spread, generate the weights, and finally print them.
📋 What You'll Learn
Use numpy's normal() function to generate data
Create a variable for mean and standard deviation
Generate 10 bread weights
Print the list of weights
💡 Why This Matters
🌍 Real World
Bakeries and food industries use normal distribution to understand product weight variations and maintain quality.
💼 Career
Data scientists use normal distribution to model real-world data and make predictions or quality checks.
Progress0 / 4 steps
1
Create the bread weights data
Import numpy as np and create a variable called weights by calling np.array([]) to start an empty array.
NumPy
Hint
Use import numpy as np to import numpy. Then create an empty numpy array with np.array([]).
2
Set mean and standard deviation
Create two variables: mean_weight set to 500 and std_dev set to 20.
NumPy
Hint
Use simple assignment to create mean_weight and std_dev variables.
3
Generate bread weights using normal()
Use np.random.normal() with mean_weight, std_dev, and 10 to generate 10 bread weights. Assign the result to weights.
NumPy
Hint
Call np.random.normal(mean_weight, std_dev, 10) to get 10 values and assign to weights.
4
Print the bread weights
Print the weights array to see the generated bread weights.
NumPy
Hint
Use print(weights) to display the array of weights.
Practice
(1/5)
1. What does the loc parameter control in the numpy.random.normal() function?
easy
A. The spread (standard deviation) of the normal distribution
B. The center (mean) of the normal distribution
C. The number of random values generated
D. The shape of the distribution curve
Solution
Step 1: Understand the parameters of normal()
The normal() function has parameters loc and scale. loc sets the mean (center) of the distribution.
Step 2: Identify the role of loc
The mean is the center point where most values cluster in a bell curve.
Final Answer:
The center (mean) of the normal distribution -> Option B
Quick Check:
loc = center [OK]
Hint: Remember: loc = center, scale = spread [OK]
Common Mistakes:
Confusing loc with scale
Thinking loc controls number of samples
Assuming loc changes distribution shape
2. Which of the following is the correct syntax to generate 5 random numbers from a normal distribution with mean 10 and standard deviation 2 using numpy?
easy
A. numpy.random.normal(size=5, mean=10, std=2)
B. numpy.normal(10, 2, 5)
C. numpy.random.normal(5, loc=10, scale=2)
D. numpy.random.normal(loc=10, scale=2, size=5)
Solution
Step 1: Recall the correct function and parameters
The function is numpy.random.normal() with parameters loc for mean, scale for std dev, and size for number of samples.
Step 2: Match parameters to correct syntax
numpy.random.normal(loc=10, scale=2, size=5) correctly uses loc=10, scale=2, and size=5.
Final Answer:
numpy.random.normal(loc=10, scale=2, size=5) -> Option D
Quick Check:
Correct parameter names and order [OK]
Hint: Use loc=mean, scale=std, size=number [OK]
Common Mistakes:
Using wrong parameter names like mean or std
Mixing order without keywords
Calling numpy.normal instead of numpy.random.normal
3. What is the output shape of the following code?
import numpy as np
arr = np.random.normal(loc=0, scale=1, size=(3,4))
print(arr.shape)
medium
A. (12,)
B. (4, 3)
C. (3, 4)
D. (3,)
Solution
Step 1: Understand the size parameter
The size argument is set to (3,4), which means generate a 2D array with 3 rows and 4 columns.
Step 2: Check the shape of the generated array
Printing arr.shape returns the shape tuple, which matches the size argument.
Final Answer:
(3, 4) -> Option C
Quick Check:
size=(3,4) means shape=(3,4) [OK]
Hint: size tuple = output shape [OK]
Common Mistakes:
Confusing rows and columns order
Expecting flattened array shape
Ignoring tuple format for size
4. Identify the error in this code snippet:
import numpy as np
samples = np.random.normal(mean=0, std=1, size=10)
print(samples)
medium
A. Incorrect parameter names: should use loc and scale instead of mean and std
B. Missing import statement for numpy
C. size parameter must be a tuple, not an integer
D. The print statement syntax is wrong
Solution
Step 1: Check parameter names for normal()
The function np.random.normal() expects loc for mean and scale for standard deviation, not mean or std.
Step 2: Verify other parts of the code
Import is correct, size can be integer, and print syntax is valid.
Final Answer:
Incorrect parameter names: should use loc and scale instead of mean and std -> Option A
Quick Check:
Use loc and scale for mean and std [OK]
Hint: Use loc=mean, scale=std; mean/std are invalid [OK]
Common Mistakes:
Using mean or std instead of loc and scale
Thinking size must be tuple always
Assuming print syntax error
5. You want to simulate daily temperatures for a week that average 20°C with a standard deviation of 3°C. Which code correctly generates this data and calculates the average temperature?
hard
A. temps = np.random.normal(loc=20, scale=3, size=7)
avg_temp = temps.mean()
print(round(avg_temp, 2))
B. temps = np.random.normal(mean=20, std=3, size=7)
avg_temp = temps.sum()
print(avg_temp)
C. temps = np.random.normal(loc=3, scale=20, size=7)
avg_temp = temps.mean()
print(avg_temp)
D. temps = np.random.normal(loc=20, scale=3, size=7)
avg_temp = temps.median()
print(avg_temp)
Solution
Step 1: Generate temperatures with correct parameters
Use loc=20 for mean temperature and scale=3 for standard deviation, with size=7 for a week.
Step 2: Calculate the average temperature correctly
Use temps.mean() to get the average. Round for neat output.
Final Answer:
temps = np.random.normal(loc=20, scale=3, size=7)
avg_temp = temps.mean()
print(round(avg_temp, 2)) -> Option A
Quick Check:
loc=mean, scale=std, mean() for average [OK]
Hint: Use loc=mean, scale=std, mean() to average [OK]