Bird
Raised Fist0
NumPydata~20 mins

transpose() for swapping axes in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Transpose Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of 2D array transpose
What is the output of this code snippet using numpy.transpose() on a 2D array?
NumPy
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.transpose(arr)
print(result)
A
[[1 4]
 [2 5]
 [3 6]]
B
[[1 2 3]
 [4 5 6]]
C
[[1 2]
 [3 4]
 [5 6]]
D
[[6 5 4]
 [3 2 1]]
Attempts:
2 left
💡 Hint
Transpose swaps rows and columns.
❓ data_output
intermediate
2:00remaining
Shape after transpose on 3D array
Given a 3D numpy array with shape (2, 3, 4), what is the shape after applying np.transpose(arr, (1, 0, 2))?
NumPy
import numpy as np
arr = np.zeros((2, 3, 4))
result = np.transpose(arr, (1, 0, 2))
print(result.shape)
A(2, 3, 4)
B(3, 2, 4)
C(4, 3, 2)
D(3, 4, 2)
Attempts:
2 left
💡 Hint
The tuple (1, 0, 2) reorders axes by their indices.
🔧 Debug
advanced
2:00remaining
Identify the error in transpose usage
What error does this code raise when trying to transpose a 2D numpy array with an invalid axes tuple?
NumPy
import numpy as np
arr = np.array([[1, 2], [3, 4]])
result = np.transpose(arr, (0, 2))
AValueError: axes don't match array
BTypeError: transpose() takes 1 positional argument but 2 were given
CIndexError: axis 2 is out of bounds for array of dimension 2
DNo error, returns transposed array
Attempts:
2 left
💡 Hint
Check the axes indices against array dimensions.
🧠 Conceptual
advanced
2:00remaining
Effect of transpose on array memory layout
Which statement best describes the effect of numpy.transpose() on the memory layout of an array?
ATranspose flattens the array into 1D
BTranspose always copies data to a new memory location
CTranspose modifies the original array in-place
DTranspose returns a view with changed strides, no data is copied
Attempts:
2 left
💡 Hint
Think about whether transpose copies data or not.
🚀 Application
expert
3:00remaining
Using transpose to swap axes in image data
You have a color image stored as a numpy array with shape (height, width, channels). Which np.transpose() call correctly swaps the height and width axes without changing the color channels?
Anp.transpose(image, (0, 2, 1))
Bnp.transpose(image, (2, 0, 1))
Cnp.transpose(image, (1, 0, 2))
Dnp.transpose(image, (2, 1, 0))
Attempts:
2 left
💡 Hint
Height is axis 0, width is axis 1, channels is axis 2.

Practice

(1/5)
1. What does the numpy.transpose() function do to an array?
easy
A. It removes duplicate elements from the array.
B. It adds new elements to the array.
C. It sorts the array elements in ascending order.
D. It swaps or flips the axes of the array.

Solution

  1. Step 1: Understand the purpose of transpose()

    The transpose() function changes the order of axes in an array, effectively flipping or swapping them.
  2. Step 2: Compare with other options

    Adding elements, sorting, or removing duplicates are unrelated to axis swapping.
  3. Final Answer:

    It swaps or flips the axes of the array. -> Option D
  4. Quick Check:

    transpose() = swaps axes [OK]
Hint: Remember: transpose flips axes, not values or elements [OK]
Common Mistakes:
  • Thinking transpose sorts or changes values
  • Confusing transpose with adding or removing elements
  • Assuming transpose only works on 2D arrays
2. Which of the following is the correct syntax to transpose a 2D NumPy array named arr?
easy
A. transpose(arr)
B. arr.transpose
C. arr.transpose()
D. arr.transpose[]

Solution

  1. Step 1: Recall method call syntax in Python

    To call a method, parentheses are required: arr.transpose().
  2. Step 2: Check other options

    transpose(arr) is incorrect because transpose is a method, not a standalone function here; arr.transpose misses parentheses; arr.transpose[] is invalid syntax.
  3. Final Answer:

    arr.transpose() -> Option C
  4. Quick Check:

    Method call needs parentheses [OK]
Hint: Use parentheses to call transpose method: arr.transpose() [OK]
Common Mistakes:
  • Omitting parentheses when calling transpose
  • Using transpose as a standalone function without import
  • Using invalid syntax like brackets after method
3. What is the output of the following code?
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.transpose())
medium
A. [[1 4] [2 5] [3 6]]
B. [[1 2 3] [4 5 6]]
C. [[1 4 2] [3 5 6]]
D. [[6 5 4] [3 2 1]]

Solution

  1. Step 1: Understand the original array shape

    The array has shape (2, 3): 2 rows and 3 columns.
  2. Step 2: Apply transpose()

    Transpose swaps axes, so shape becomes (3, 2). Rows become columns and vice versa. The first column becomes the first row: [1,4], second: [2,5], third: [3,6].
  3. Final Answer:

    [[1 4] [2 5] [3 6]] -> Option A
  4. Quick Check:

    Transpose swaps rows and columns [OK]
Hint: Transpose flips rows and columns in 2D arrays [OK]
Common Mistakes:
  • Confusing transpose with reversing elements
  • Expecting original shape after transpose
  • Mixing up rows and columns in output
4. The following code throws an error. What is the mistake?
import numpy as np
arr = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
print(arr.transpose(1, 0))
medium
A. transpose() requires all axes to be specified for 3D arrays.
B. The array is not a NumPy array.
C. transpose() cannot be used on 3D arrays.
D. The axes argument must be a list, not a tuple.

Solution

  1. Step 1: Check array dimensions

    The array has 3 dimensions (shape (2, 2, 2)).
  2. Step 2: Understand transpose axes argument

    For 3D arrays, transpose requires all three axes to be specified. Passing only two axes (1, 0) causes an error.
  3. Final Answer:

    transpose() requires all axes to be specified for 3D arrays. -> Option A
  4. Quick Check:

    All axes must be given for 3D transpose [OK]
Hint: Specify all axes when transposing multi-dimensional arrays [OK]
Common Mistakes:
  • Passing fewer axes than array dimensions
  • Thinking transpose can't handle 3D arrays
  • Confusing tuple and list for axes argument
5. Given a 3D NumPy array arr with shape (2, 3, 4), which transpose() call will swap the first and last axes, resulting in shape (4, 3, 2)?
hard
A. arr.transpose(2, 0, 1)
B. arr.transpose(2, 1, 0)
C. arr.transpose(0, 2, 1)
D. arr.transpose(1, 0, 2)

Solution

  1. Step 1: Identify original axes order

    Original shape (2, 3, 4) corresponds to axes (0, 1, 2).
  2. Step 2: Determine desired axes order

    Swapping first and last axes means new order is (2, 1, 0), resulting in shape (4, 3, 2).
  3. Final Answer:

    arr.transpose(2, 1, 0) -> Option B
  4. Quick Check:

    Swap axes 0 and 2: (2,1,0) [OK]
Hint: List axes in desired order to swap them correctly [OK]
Common Mistakes:
  • Mixing up axes order in transpose
  • Not specifying all axes for 3D arrays
  • Assuming transpose swaps only two axes automatically
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