Bird
Raised Fist0
NumPydata~5 mins

np.vstack() and np.hstack() in NumPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does np.vstack() do in numpy?

np.vstack() stacks arrays vertically (row-wise). It joins arrays by adding rows on top of each other.

Click to reveal answer
beginner
What is the difference between np.vstack() and np.hstack()?

np.vstack() stacks arrays vertically (adds rows).
np.hstack() stacks arrays horizontally (adds columns).

Click to reveal answer
beginner
Given two arrays a = np.array([1, 2]) and b = np.array([3, 4]), what is the result of np.vstack((a, b))?
array([[1, 2],
       [3, 4]])
Click to reveal answer
intermediate
What shape must arrays have to be stacked using np.hstack()?

Arrays must have the same number of rows (same first dimension) to stack horizontally.

Click to reveal answer
intermediate
Why might np.vstack() or np.hstack() raise an error?

They raise errors if arrays have incompatible shapes for stacking. For vstack, columns must match; for hstack, rows must match.

Click to reveal answer
What does np.hstack() do?
AStacks arrays vertically (adds rows)
BStacks arrays horizontally (adds columns)
CFlattens arrays into 1D
DSplits arrays into parts
If you have two arrays with shapes (2, 3) and (3, 3), can you use np.vstack() to stack them?
AYes, because rows differ
BNo, because rows differ
CYes, because columns match
DNo, because columns differ
What shape will the result have after np.hstack() of arrays with shapes (2, 3) and (2, 2)?
A(2, 5)
B(4, 3)
C(2, 1)
D(3, 2)
Which numpy function would you use to add rows to an existing array?
Anp.hstack()
Bnp.concatenate() with axis=1
Cnp.split()
Dnp.vstack()
What happens if you try to np.hstack() arrays with different number of rows?
AYou get an error about shape mismatch
BThey stack successfully
CArrays get flattened
DArrays get stacked vertically instead
Explain in your own words how np.vstack() and np.hstack() combine arrays. Give a simple example.
Think about stacking blocks either on top or side by side.
You got /3 concepts.
    What shape conditions must arrays meet to be stacked with np.vstack() and np.hstack()? Why is this important?
    Consider how rows and columns align when stacking.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does np.vstack() do with arrays?
      easy
      A. Stacks arrays vertically, adding rows
      B. Stacks arrays horizontally, adding columns
      C. Flattens arrays into one dimension
      D. Splits arrays into smaller parts

      Solution

      1. Step 1: Understand vertical stacking

        np.vstack() stacks arrays by adding rows one below another.
      2. Step 2: Compare with horizontal stacking

        np.hstack() stacks arrays side by side by adding columns, so it is different.
      3. Final Answer:

        Stacks arrays vertically, adding rows -> Option A
      4. Quick Check:

        np.vstack() = vertical stack [OK]
      Hint: Remember 'v' in vstack means vertical stacking [OK]
      Common Mistakes:
      • Confusing vertical and horizontal stacking
      • Thinking vstack flattens arrays
      • Assuming vstack splits arrays
      2. Which of the following is the correct syntax to horizontally stack two arrays a and b using NumPy?
      easy
      A. np.hstack(a, b)
      B. np.hstack[a, b]
      C. np.hstack((a, b))
      D. np.hstack{a, b}

      Solution

      1. Step 1: Check function call syntax

        NumPy functions use parentheses and tuples for multiple arrays, so np.hstack((a, b)) is correct.
      2. Step 2: Identify incorrect syntax

        Square brackets, missing parentheses, or curly braces are invalid for function calls in Python.
      3. Final Answer:

        np.hstack((a, b)) -> Option C
      4. Quick Check:

        Correct function call uses parentheses and tuple [OK]
      Hint: Use double parentheses for multiple arrays in hstack [OK]
      Common Mistakes:
      • Using square brackets instead of parentheses
      • Passing arrays without tuple parentheses
      • Using curly braces which are invalid
      3. What is the output of the following code?
      import numpy as np
      x = np.array([[1, 2], [3, 4]])
      y = np.array([[5, 6], [7, 8]])
      result = np.vstack((x, y))
      print(result)
      medium
      A. [[1 2 5 6] [3 4 7 8]]
      B. [[1 2 3 4] [5 6 7 8]]
      C. [[1 2] [5 6] [3 4] [7 8]]
      D. [[1 2] [3 4] [5 6] [7 8]]

      Solution

      1. Step 1: Understand np.vstack behavior

        It stacks arrays vertically, so rows of y come below rows of x.
      2. Step 2: Combine arrays row-wise

        Result has 4 rows: first two from x, next two from y, each with 2 columns.
      3. Final Answer:

        [[1 2] [3 4] [5 6] [7 8]] -> Option D
      4. Quick Check:

        Vertical stack adds rows below [OK]
      Hint: vstack adds rows; hstack adds columns [OK]
      Common Mistakes:
      • Confusing vstack with hstack output
      • Expecting horizontal concatenation
      • Misreading array shapes
      4. What error will occur when running this code?
      import numpy as np
      a = np.array([1, 2, 3])
      b = np.array([[4, 5, 6], [7, 8, 9]])
      result = np.hstack((a, b))
      print(result)
      medium
      A. No error, outputs concatenated array
      B. TypeError because inputs are not lists
      C. SyntaxError due to wrong function call
      D. ValueError due to incompatible shapes

      Solution

      1. Step 1: Check shapes of arrays

        a is shape (3,), b is shape (2,3). They differ in first dimension.
      2. Step 2: Understand hstack requirements

        np.hstack() stacks arrays along their second axis if possible. Here, a is 1D and b is 2D, but NumPy broadcasts a to shape (1,3) and stacks along axis 1, resulting in shape (3,3).
      3. Step 3: Result

        No error occurs; arrays are concatenated.
      4. Final Answer:

        No error, outputs concatenated array -> Option A
      5. Quick Check:

        NumPy broadcasts 1D array and concatenates [OK]
      Hint: NumPy can broadcast 1D arrays when stacking [OK]
      Common Mistakes:
      • Assuming hstack requires same number of rows
      • Confusing ValueError with TypeError
      • Ignoring NumPy broadcasting rules
      5. Given two arrays:
      a = np.array([[1, 2], [3, 4]])
      b = np.array([[5, 6, 7], [8, 9, 10]])
      Which method correctly combines them into a single array with shape (2, 5) by stacking horizontally?
      hard
      A. np.vstack((a, b))
      B. np.hstack((a, b))
      C. np.hstack((a.T, b.T)).T
      D. np.vstack((a.T, b.T)).T

      Solution

      1. Step 1: Check shapes of arrays

        a shape is (2, 2), b shape is (2, 3). Both have 2 rows, so horizontal stacking is possible.
      2. Step 2: Apply np.hstack

        np.hstack((a, b)) concatenates columns, resulting in shape (2, 5).
      3. Step 3: Verify other options

        np.vstack((a, b)) would fail due to different column counts; transposes complicate shape and are unnecessary here.
      4. Final Answer:

        np.hstack((a, b)) -> Option B
      5. Quick Check:

        Same rows, hstack adds columns [OK]
      Hint: For same rows, use hstack to add columns [OK]
      Common Mistakes:
      • Using vstack with different column counts
      • Overcomplicating with transpose
      • Mixing up row and column dimensions
      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