Transposing a matrix flips it over its diagonal. This changes rows into columns and columns into rows. It helps us rearrange data for analysis or math.
Matrix transpose operations in NumPy
Start learning this pattern below
Jump into concepts and practice - no test required
or
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Syntax
NumPy
transposed_matrix = original_matrix.T
The .T attribute quickly transposes a NumPy array.
It works for 2D arrays (matrices) and higher dimensions.
Examples
NumPy
import numpy as np matrix = np.array([[1, 2], [3, 4]]) transposed = matrix.T print(transposed)
NumPy
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) print(matrix.T)
NumPy
import numpy as np matrix = np.array([[1, 2], [3, 4], [5, 6]]) transposed = matrix.T print(transposed)
Sample Program
This program creates a 3x3 matrix and prints it. Then it prints the transposed matrix where rows and columns are swapped.
NumPy
import numpy as np # Create a 3x3 matrix matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Transpose the matrix transposed_matrix = matrix.T print("Original matrix:") print(matrix) print("\nTransposed matrix:") print(transposed_matrix)
Important Notes
Transposing does not change the original matrix unless you assign the result back.
For 1D arrays, .T has no effect because they have no rows or columns.
You can also use np.transpose(matrix) which does the same thing.
Summary
Use .T to flip rows and columns of a matrix.
It helps prepare data for math and analysis.
Works easily with NumPy arrays.
Practice
1. What does the
.T attribute do when applied to a NumPy matrix?easy
Solution
Step 1: Understand the .T attribute
The.Tattribute in NumPy returns the transpose of a matrix, which means rows become columns and columns become rows.Step 2: Compare with other options
Multiplying by 2, summing elements, or flattening are different operations and not related to.T.Final Answer:
It flips the rows and columns of the matrix (transpose). -> Option AQuick Check:
Transpose = flip rows and columns [OK]
Hint: Remember: .T flips rows and columns [OK]
Common Mistakes:
- Confusing transpose with flattening
- Thinking .T multiplies elements
- Assuming .T sums elements
2. Which of the following is the correct syntax to transpose a NumPy array named
arr?easy
Solution
Step 1: Recall NumPy transpose syntax
In NumPy,.Tis an attribute, not a method, so it does not use parentheses.Step 2: Evaluate each option
arr.transpose() usestranspose()method which exists but is a method, so requires parentheses. arr.T() incorrectly uses.T()as a method. transpose(arr) is not valid syntax. arr.T correctly uses.Tattribute without parentheses.Final Answer:
arr.T -> Option DQuick Check:
Transpose attribute = arr.T [OK]
Hint: Use .T without parentheses to transpose [OK]
Common Mistakes:
- Using .T() as if it were a method
- Confusing transpose() method with .T attribute
- Trying to call transpose(arr) without import
3. What is the output of the following code?
import numpy as np arr = np.array([[1, 2], [3, 4]]) print(arr.T)
medium
Solution
Step 1: Understand the original array
The arrayarris a 2x2 matrix: [[1, 2], [3, 4]].Step 2: Apply transpose operation
Transposing swaps rows and columns, so the first row [1, 2] becomes the first column, and the second row [3, 4] becomes the second column. Result: [[1, 3], [2, 4]].Final Answer:
[[1 3] [2 4]] -> Option AQuick Check:
Transpose swaps rows and columns = [[1 3] [2 4]] [OK]
Hint: Transpose swaps rows and columns positions [OK]
Common Mistakes:
- Confusing transpose with reversing elements
- Mixing rows and columns incorrectly
- Expecting original array output
4. Identify the error in this code snippet that tries to transpose a NumPy array:
import numpy as np arr = np.array([[1, 2], [3, 4]]) transposed = arr.T() print(transposed)
medium
Solution
Step 1: Check usage of .T
The.Tattribute is not a function, so it should not have parentheses. Using.T()causes a TypeError.Step 2: Verify other parts of the code
Array creation and import are correct. The print statement is also correct.Final Answer:
Using parentheses with .T attribute causes an error. -> Option BQuick Check:
.T is attribute, not method [OK]
Hint: Do not add () after .T attribute [OK]
Common Mistakes:
- Calling .T as a function with ()
- Assuming .T needs import
- Thinking print syntax is wrong
5. You have a 3x2 NumPy array
arr = np.array([[1, 2], [3, 4], [5, 6]]). You want to multiply it by another array so that the result is a 2x2 matrix. Which of the following correctly uses transpose to achieve this multiplication?import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6]]) arr2 = ??? result = np.dot(arr.T, arr2) print(result)
hard
Solution
Step 1: Understand shapes of arrays
arris 3x2. Its transposearr.Tis 2x3. For matrix multiplicationnp.dot(arr.T, arr2), the number of rows inarr2must be 3 to matcharr.T's columns.Step 2: Check options for correct shape
arr2 = np.array([[1, 0], [0, 1], [1, 1]]) shape is 3x2, soarr.T (2x3)dotarr2 (3x2)results in 2x2 matrix, which is valid. arr2 = np.array([[1, 0], [0, 1]]) shape is 2x2, which does not match for multiplication with 2x3. arr2 = np.array([[1, 0, 1], [0, 1, 1]]) shape is 2x3, which does not match. arr2 = np.array([[1, 0], [0, 1], [1, 1], [0, 0]]) shape is 4x2, invalid.Step 3: Re-examine arr2 = np.array([[1, 0], [0, 1]]) carefully
Actually, arr2 = np.array([[1, 0], [0, 1]]) is 2x2, which cannot multiply with 2x3. So arr2 = np.array([[1, 0], [0, 1], [1, 1]]) is correct.Final Answer:
arr2 = np.array([[1, 0], [0, 1], [1, 1]]) -> Option CQuick Check:
Matrix shapes must align for dot product [OK]
Hint: Check matrix shapes before multiplying [OK]
Common Mistakes:
- Ignoring shape mismatch in dot product
- Confusing rows and columns after transpose
- Choosing arrays with incompatible shapes
