📖 Scenario: Imagine you are working with sensor data that you want to store temporarily before filling it with actual measurements. You want to create an empty array to hold these values quickly without initializing them to zero.
🎯 Goal: You will create an uninitialized NumPy array using np.empty(), set its shape, and then fill it with sample data.
📋 What You'll Learn
Create a NumPy array using np.empty() with a specific shape
Create a variable to hold the shape as a tuple
Fill the uninitialized array with sample values using a loop
Print the final array to see the filled values
💡 Why This Matters
🌍 Real World
Creating uninitialized arrays is useful when you want to allocate memory quickly and fill it later with actual data, such as sensor readings or image pixels.
💼 Career
Data scientists and engineers often use <code>np.empty()</code> to optimize performance when working with large datasets or simulations.
Progress0 / 4 steps
1
Create the shape tuple for the array
Create a variable called shape and set it to the tuple (3, 2) to represent 3 rows and 2 columns.
NumPy
Hint
The shape of the array is a tuple with two numbers: rows and columns.
2
Create an uninitialized array using np.empty()
Use np.empty() with the variable shape to create an uninitialized array called data.
NumPy
Hint
Use np.empty(shape) to create the array without initializing values.
3
Fill the uninitialized array with sample values
Use nested for loops with variables i and j to fill the data array with values equal to i * 10 + j.
NumPy
Hint
Use two loops: outer for rows (i), inner for columns (j). Assign values inside the loops.
4
Print the filled array
Write a print() statement to display the data array.
NumPy
Hint
Use print(data) to show the array with your filled values.
Practice
(1/5)
1. What does np.empty() do when creating a new array?
easy
A. Creates an array without initializing its values
B. Creates an array filled with zeros
C. Creates an array filled with ones
D. Creates an array filled with random numbers
Solution
Step 1: Understand np.empty() purpose
np.empty() allocates memory for an array but does not set values, so the content is uninitialized.
Step 2: Compare with other functions
Functions like np.zeros() or np.ones() initialize values, but np.empty() does not.
Final Answer:
Creates an array without initializing its values -> Option A
Quick Check:
np.empty() = uninitialized array [OK]
Hint: Remember: empty means no initial values set [OK]
Common Mistakes:
Thinking np.empty() fills with zeros
Confusing np.empty() with np.random
Assuming np.empty() initializes with ones
2. Which of the following is the correct syntax to create an uninitialized 2x3 array using np.empty()?
easy
A. np.empty((2, 3))
B. np.empty(2, 3)
C. np.empty((3, 2))
D. np.empty{2, 3}
Solution
Step 1: Check correct argument type for shape
np.empty() expects a single tuple for shape, so (2, 3) is correct.
Step 2: Identify correct syntax
np.empty((2, 3)) uses np.empty((2, 3)), which is valid. np.empty((3, 2)) uses swapped dimensions and creates 3x2 array instead of 2x3. np.empty(2, 3) passes two arguments incorrectly. np.empty{2, 3} uses braces which is invalid syntax.
Final Answer:
np.empty((2, 3)) -> Option A
Quick Check:
Shape must be tuple in np.empty() [OK]
Hint: Use tuple (rows, cols) inside np.empty() [OK]
Common Mistakes:
Passing multiple arguments instead of a tuple
Using curly braces instead of parentheses
Swapping dimensions to (3, 2)
3. What will be the output of this code?
import numpy as np
arr = np.empty((2,2))
print(arr)
medium
A. SyntaxError
B. [[1. 1.]
[1. 1.]]
C. [[0. 0.]
[0. 0.]]
D. An array with random uninitialized values
Solution
Step 1: Understand np.empty() output
np.empty() creates an array without initializing values, so the content is random garbage data from memory.
Step 2: Predict printed output
The printed array will show unpredictable float numbers, not zeros or ones.
Final Answer:
An array with random uninitialized values -> Option D
Quick Check:
np.empty() output = random uninitialized values [OK]
Hint: np.empty() shows random values, not zeros or ones [OK]
Common Mistakes:
Expecting zeros or ones in output
Thinking np.empty() initializes values
Confusing with np.zeros() or np.ones()
4. Identify the error in this code snippet:
import numpy as np
arr = np.empty(3, 4)
print(arr)
medium
A. np.empty() does not accept integers
B. Shape argument must be a single tuple, not two separate arguments
C. Missing import statement
D. print() cannot print numpy arrays
Solution
Step 1: Check np.empty() argument format
np.empty() expects one argument for shape, which should be a tuple like (3, 4).
Step 2: Identify error in code
The code passes two separate arguments 3, 4 instead of a tuple, causing a TypeError.
Final Answer:
Shape argument must be a single tuple, not two separate arguments -> Option B
Quick Check:
Shape must be tuple in np.empty() [OK]
Hint: Pass shape as one tuple, e.g. (3,4) [OK]
Common Mistakes:
Passing multiple integers instead of a tuple
Forgetting to import numpy
Thinking print() can't show arrays
5. You want to create a large array quickly and fill it later. Which is the best way to do this using np.empty()?
import numpy as np
arr = np.empty((1000, 1000))
# Next step: fill arr with values
Why is np.empty() preferred here over np.zeros()?
hard
A. Because np.empty() creates a copy of an existing array
B. Because np.empty() fills with zeros automatically
C. Because np.empty() is faster as it skips initialization
D. Because np.empty() initializes with random values
Solution
Step 1: Understand performance difference
np.empty() allocates memory without setting values, so it is faster than np.zeros() which sets all values to zero.
Step 2: Reason why this is useful
When you plan to fill the array later, skipping initialization saves time and resources.
Final Answer:
Because np.empty() is faster as it skips initialization -> Option C
Quick Check:
np.empty() = fast allocation without init [OK]
Hint: Use np.empty() for speed when filling later [OK]
Common Mistakes:
Thinking np.empty() initializes with zeros
Confusing np.empty() with np.copy()
Assuming np.empty() fills with random values intentionally
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.