Bird
Raised Fist0
SciPydata~20 mins

NumPy array foundation review in SciPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
NumPy Array Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Understanding NumPy array slicing output
What is the output of this code snippet?
SciPy
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
result = arr[1:, :2]
print(result)
A
[[4 5]
 [7 8]]
B
[[4 5 6]
 [7 8 9]]
C
[[5 6]
 [8 9]]
D
[[2 3]
 [5 6]]
Attempts:
2 left
💡 Hint
Remember that arr[1:, :2] means rows from index 1 to end, columns from index 0 to 1.
❓ data_output
intermediate
2:00remaining
Shape and size of a reshaped NumPy array
Given the code below, what is the shape and size of the array 'reshaped'?
SciPy
import numpy as np
arr = np.arange(12)
reshaped = arr.reshape(3, 4)
print(reshaped.shape, reshaped.size)
A(3, 4) 12
B(12,) 12
C(3, 4) 7
D(4, 3) 12
Attempts:
2 left
💡 Hint
The reshape changes the shape but not the total number of elements.
🔧 Debug
advanced
2:00remaining
Identify the error in NumPy array creation
What error does this code raise?
SciPy
import numpy as np
arr = np.array([1, 2, 3], dtype='float32', shape=(2,2))
AValueError: cannot reshape array of size 3 into shape (2,2)
BTypeError: unexpected keyword argument 'shape'
CSyntaxError: invalid syntax
DNo error, creates a 2x2 array
Attempts:
2 left
💡 Hint
Check the parameters accepted by np.array function.
🧠 Conceptual
advanced
2:00remaining
Broadcasting behavior in NumPy arrays
Which option correctly describes the output shape of the operation below?
SciPy
import numpy as np
a = np.ones((3,1))
b = np.ones((1,4))
c = a + b
print(c.shape)
A(3, 1)
B(1, 1)
C(3, 4)
D(1, 4)
Attempts:
2 left
💡 Hint
Broadcasting expands arrays to compatible shapes for element-wise operations.
🚀 Application
expert
3:00remaining
Find the number of unique rows in a 2D NumPy array
Given the array below, how many unique rows does it contain?
SciPy
import numpy as np
arr = np.array([[1, 2], [3, 4], [1, 2], [5, 6], [3, 4]])
unique_rows = np.unique(arr, axis=0)
print(len(unique_rows))
A2
B4
C5
D3
Attempts:
2 left
💡 Hint
np.unique with axis=0 finds unique rows, not elements.

Practice

(1/5)
1. What is a key advantage of using a NumPy array over a regular Python list for storing numbers?
easy
A. NumPy arrays automatically sort the data
B. NumPy arrays can store different data types in the same array
C. NumPy arrays use less memory and allow faster math operations
D. NumPy arrays are slower but more flexible than lists

Solution

  1. Step 1: Understand memory and speed benefits

    NumPy arrays store data in a compact way and use optimized code for math.
  2. Step 2: Compare with Python lists

    Python lists store references and are slower for math operations.
  3. Final Answer:

    NumPy arrays use less memory and allow faster math operations -> Option C
  4. Quick Check:

    NumPy arrays = efficient storage + fast math [OK]
Hint: NumPy arrays are built for fast math and memory efficiency [OK]
Common Mistakes:
  • Thinking NumPy arrays can store mixed data types like lists
  • Assuming NumPy arrays sort data automatically
  • Believing NumPy arrays are slower than lists
2. Which of the following is the correct way to create a 1-dimensional NumPy array with elements 1, 2, and 3?
easy
A. np.array(1, 2, 3)
B. np.array([1, 2, 3])
C. np.array{1, 2, 3}
D. np.array([1; 2; 3])

Solution

  1. Step 1: Recall correct syntax for np.array

    NumPy arrays are created by passing a list inside parentheses: np.array([elements]).
  2. Step 2: Check each option

    np.array([1, 2, 3]) uses correct syntax with square brackets inside parentheses. Others have syntax errors.
  3. Final Answer:

    np.array([1, 2, 3]) -> Option B
  4. Quick Check:

    np.array needs a list inside parentheses [OK]
Hint: Use square brackets inside parentheses to create arrays [OK]
Common Mistakes:
  • Omitting square brackets around elements
  • Using curly braces instead of square brackets
  • Separating elements with semicolons inside list
3. What will be the output of the following code?
import numpy as np
arr = np.array([[1, 2], [3, 4]])
print(arr.shape)
medium
A. (2, 2)
B. (4,)
C. (1, 4)
D. (2,)

Solution

  1. Step 1: Understand the array shape

    The array has 2 rows and 2 columns, so shape is (2, 2).
  2. Step 2: Confirm shape output

    Printing arr.shape returns a tuple with dimensions (2, 2).
  3. Final Answer:

    (2, 2) -> Option A
  4. Quick Check:

    2 rows and 2 columns = (2, 2) [OK]
Hint: Shape shows (rows, columns) for 2D arrays [OK]
Common Mistakes:
  • Confusing total elements with shape
  • Expecting a flat tuple like (4,)
  • Misreading rows and columns order
4. Identify the error in this code snippet:
import numpy as np
arr = np.array([1, 2, 3])
print(arr[3])
medium
A. IndexError because index 3 is out of bounds
B. SyntaxError due to wrong array creation
C. TypeError because arr is not subscriptable
D. No error, prints 3

Solution

  1. Step 1: Check array length and indexing

    Array has elements at indices 0, 1, 2. Index 3 is out of range.
  2. Step 2: Understand error type

    Accessing arr[3] causes IndexError for out-of-bounds access.
  3. Final Answer:

    IndexError because index 3 is out of bounds -> Option A
  4. Quick Check:

    Index 3 invalid for length 3 array [OK]
Hint: Array indices start at 0; max index is length-1 [OK]
Common Mistakes:
  • Thinking index 3 accesses the last element
  • Confusing syntax error with runtime error
  • Assuming arr[3] prints 3
5. Given a 2D NumPy array arr = np.array([[1, 2, 3], [4, 5, 6]]), which code correctly extracts the second column as a 1D array?
hard
A. arr[:, 2]
B. arr[1, :]
C. arr[1]
D. arr[:, 1]

Solution

  1. Step 1: Understand array slicing for columns

    To get a column, select all rows (:) and the column index.
  2. Step 2: Identify correct column index

    Second column has index 1 (zero-based indexing).
  3. Step 3: Check options

    arr[:, 1] uses arr[:, 1] which selects all rows, column 1 correctly.
  4. Final Answer:

    arr[:, 1] -> Option D
  5. Quick Check:

    All rows, column 1 = arr[:, 1] [OK]
Hint: Use arr[:, col_index] to get a column [OK]
Common Mistakes:
  • Using arr[1, :] which selects a row, not a column
  • Using arr[1] which selects second row
  • Using wrong column index
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