0
0
NumPydata~20 mins

np.vstack() and np.hstack() in NumPy - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Stacking Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of np.vstack() with 1D arrays
What is the output of this code?
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.vstack((arr1, arr2))
print(result)
NumPy
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.vstack((arr1, arr2))
print(result)
A
[[1 4]
 [2 5]
 [3 6]]
B
[[1 2 3]
 [4 5 6]]
C[1 2 3 4 5 6]
D
[[1 2 3]
 [4 5 6]
 [1 2 3]]
Attempts:
2 left
💡 Hint
np.vstack stacks arrays vertically, adding rows.
Predict Output
intermediate
2:00remaining
Output of np.hstack() with 2D arrays
What is the output of this code?
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
result = np.hstack((arr1, arr2))
print(result)
NumPy
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
result = np.hstack((arr1, arr2))
print(result)
A[[1 2 3 4 5 6 7 8]]
B
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
C
[[1 5]
 [2 6]
 [3 7]
 [4 8]]
D
[[1 2 5 6]
 [3 4 7 8]]
Attempts:
2 left
💡 Hint
np.hstack stacks arrays horizontally, adding columns.
data_output
advanced
2:00remaining
Shape after stacking arrays with np.vstack and np.hstack
Given these arrays:
import numpy as np
arr1 = np.array([[1, 2, 3]])
arr2 = np.array([[4, 5, 6]])

What is the shape of the result after applying np.vstack((arr1, arr2)) and np.hstack((arr1, arr2)) respectively?
NumPy
import numpy as np
arr1 = np.array([[1, 2, 3]])
arr2 = np.array([[4, 5, 6]])
vstack_result = np.vstack((arr1, arr2))
hstack_result = np.hstack((arr1, arr2))
print(vstack_result.shape, hstack_result.shape)
A(2, 3) and (1, 6)
B(2, 6) and (1, 3)
C(3, 2) and (6, 1)
D(1, 6) and (2, 3)
Attempts:
2 left
💡 Hint
vstack adds rows, hstack adds columns.
🔧 Debug
advanced
2:00remaining
Error when stacking arrays with incompatible shapes
What error does this code raise?
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([[4, 5, 6]])
result = np.vstack((arr1, arr2))
NumPy
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([[4, 5, 6]])
result = np.vstack((arr1, arr2))
ATypeError: unsupported operand type(s) for +: 'int' and 'list'
BNo error, runs successfully
CValueError: all the input arrays must have same number of dimensions
DIndexError: index out of range
Attempts:
2 left
💡 Hint
np.vstack requires arrays to have the same number of dimensions.
🚀 Application
expert
3:00remaining
Combining arrays for data analysis
You have two numpy arrays representing data from two sensors:
sensor1 = np.array([[10, 20], [30, 40]])
sensor2 = np.array([[50, 60], [70, 80]])

You want to create a single array where sensor2 data is stacked below sensor1 data, and then another array where sensor2 data is stacked to the right of sensor1 data.
Which code correctly creates these two arrays?
NumPy
import numpy as np
sensor1 = np.array([[10, 20], [30, 40]])
sensor2 = np.array([[50, 60], [70, 80]])
A
vertical_stack = np.concatenate((sensor1, sensor2), axis=0)
horizontal_stack = np.concatenate((sensor1, sensor2), axis=1)
B
vertical_stack = np.hstack((sensor1, sensor2))
horizontal_stack = np.vstack((sensor1, sensor2))
C
vertical_stack = np.vstack((sensor1, sensor2))
horizontal_stack = np.hstack((sensor1, sensor2))
D
vertical_stack = np.concatenate((sensor1, sensor2), axis=1)
horizontal_stack = np.concatenate((sensor1, sensor2), axis=0)
Attempts:
2 left
💡 Hint
axis=0 stacks rows (vertical), axis=1 stacks columns (horizontal).