Hướng dẫn how do you transpose a matrix in python? - làm thế nào để bạn chuyển đổi một ma trận trong python?

Trong ví dụ này, bạn sẽ học cách chuyển một ma trận (được tạo bằng cách sử dụng danh sách lồng nhau).

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python cho vòng lặp
  • Danh sách Python

Trong Python, chúng ta có thể triển khai ma trận dưới dạng danh sách lồng nhau (danh sách bên trong danh sách). Chúng ta có thể coi từng phần tử như một hàng của ma trận.

Ví dụ X = [[1, 2], [4, 5], [3, 6]] sẽ đại diện cho ma trận 3x2. Hàng đầu tiên có thể được chọn là X[0]. Và, phần tử trong cột đầu tiên có thể được chọn là X[0][0].

Chuyển đổi của một ma trận là sự trao đổi của các hàng và cột. Nó được ký hiệu là x '. Phần tử ở cột Ith và cột thứ j trong x sẽ được đặt ở hàng thứ j và cột ith trong x '. Vì vậy, nếu x là ma trận 3x2, x 'sẽ là ma trận 2x3.

Dưới đây là một vài cách để thực hiện điều này trong Python.


Ma trận chuyển vị bằng cách sử dụng vòng lặp lồng nhau

# Program to transpose a matrix using a nested loop

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[0,0,0],
         [0,0,0]]

# iterate through rows
for i in range(len(X)):
   # iterate through columns
   for j in range(len(X[0])):
       result[j][i] = X[i][j]

for r in result:
   print(r)

Đầu ra

[12, 4, 3]
[7, 5, 8]

Trong chương trình này, chúng tôi đã sử dụng các vòng lặp for lồng nhau để lặp qua mỗi hàng và mỗi cột. Tại mỗi điểm, chúng ta đặt phần tử x [i] [j] vào kết quả [j] [i].


Ma trận chuyển vị bằng cách sử dụng danh sách lồng nhau

''' Program to transpose a matrix using list comprehension'''

X = [[12,7],
    [4 ,5],
    [3 ,8]]

result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]

for r in result:
   print(r)

Đầu ra của chương trình này giống như trên. Chúng tôi đã sử dụng sự hiểu biết danh sách lồng nhau để lặp qua từng phần tử trong ma trận.

Làm thế nào để bạn sử dụng chức năng chuyển vị trong Python?

Ví dụ 3: Các yếu tố định vị sử dụng Numpy ..

Làm cách nào để chuyển một ma trận?

  • Để tính toán chuyển đổi của một ma trận, chỉ cần trao đổi các hàng và cột của ma trận, tức là viết các phần tử của các hàng dưới dạng các cột và viết các phần tử của một cột dưới dạng hàng.
  • Xem thảo luận
  • Làm thế nào để bạn sử dụng chức năng chuyển vị trong Python?

    Ví dụ 3: Các yếu tố định vị sử dụng Numpy ..

    Làm cách nào để chuyển một ma trận?

    Để tính toán chuyển đổi của một ma trận, chỉ cần trao đổi các hàng và cột của ma trận, tức là viết các phần tử của các hàng dưới dạng các cột và viết các phần tử của một cột dưới dạng hàng.
    In Python, we can implement a matrix as nested list (list inside a list). Each element is treated as a row of the matrix. For example m = [[1, 2], [4, 5], [3, 6]] represents a matrix of 3 rows and 2 columns.
    First element of the list – m[0] and element in first row, first column – m[0][0].

    1. Xem thảo luận Nested list comprehension are used to iterate through each element in the matrix. In the given example, we iterate through each element of matrix (m) in column major manner and assign the result to rez matrix which is the transpose of m.

      Cải thiện bài viết

      Lưu bài viết

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      9
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      1

      Đọc

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      9
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      3
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      4

      Bàn luận

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      9
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      1

      Output:

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
    1. Chuyển đổi ma trận là một nhiệm vụ mà tất cả chúng ta có thể thực hiện rất dễ dàng trong Python (sử dụng một vòng lặp lồng nhau). Nhưng có một số cách thú vị để làm điều tương tự trong một dòng. Trong Python, chúng ta có thể triển khai một ma trận dưới dạng danh sách lồng nhau (danh sách bên trong một danh sách). Mỗi phần tử được coi là một hàng của ma trận. Ví dụ: m = [[1, 2], [4, 5], [3, 6]] đại diện cho một ma trận gồm 3 hàng và 2 cột. Phần tử đầu tiên của danh sách - m [0] và phần tử trong hàng đầu tiên, đầu tiên Cột - M [0] [0]. Zip returns an iterator of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables. In this example we unzip our array using * and then zip it to get the transpose.

      X = [[1, 2], [4, 5], [3, 6]]2

      [12, 4, 3]
      [7, 5, 8]
      
      1X = [[1, 2], [4, 5], [3, 6]]4
      [12, 4, 3]
      [7, 5, 8]
      
      3
      [12, 4, 3]
      [7, 5, 8]
      
      4
      [12, 4, 3]
      [7, 5, 8]
      
      5
      [12, 4, 3]
      [7, 5, 8]
      
      4
      [12, 4, 3]
      [7, 5, 8]
      
      7X[0]0
      [12, 4, 3]
      [7, 5, 8]
      
      9
      [12, 4, 3]
      [7, 5, 8]
      
      4
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      1
      [12, 4, 3]
      [7, 5, 8]
      
      4
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      3X[0]0X[0]7
      [12, 4, 3]
      [7, 5, 8]
      
      4X[0]9
      [12, 4, 3]
      [7, 5, 8]
      
      4X[0][0]1X[0]0X[0][0]3
      [12, 4, 3]
      [7, 5, 8]
      
      4X[0][0]5
      [12, 4, 3]
      [7, 5, 8]
      
      4X[0][0]7X[0][0]8

      Sử dụng danh sách lồng nhau Hiểu danh sách: Danh sách lồng nhau được sử dụng để lặp qua từng phần tử trong ma trận. Trong ví dụ đã cho, chúng tôi lặp qua từng phần tử của ma trận (m) theo cách chính của cột và gán kết quả cho ma trận REZ là chuyển đổi của m.

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      9
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      1

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      9
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      3
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      4

      Các

      for

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      6
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      7
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      8

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      9
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      1

      Output:

      (1, 2, 3)
      (4, 5, 6)
      (7, 8, 9)
      (10, 11, 12)
      
      (1, 4, 7, 10)
      (2, 5, 8, 11)
      (3, 6, 9, 12)
      

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      2
      [12, 4, 3]
      [7, 5, 8]
      
      1
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      4for
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      6
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      7

    1. for
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      6
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      7
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      8
      NumPy is a general-purpose array-processing package designed to efficiently manipulate large multi-dimensional arrays. The transpose method returns a transposed view of the passed multi-dimensional matrix.

      Sử dụng zip: ZIP trả về một trình lặp của các bộ dữ liệu, trong đó bộ thứ ba chứa phần tử thứ i từ mỗi chuỗi đối số hoặc iterables. Trong ví dụ này, chúng tôi giải nén mảng của chúng tôi bằng cách sử dụng * và sau đó zip nó để chuyển vị trí.

      X = [[1, 2], [4, 5], [3, 6]]2

      [12, 4, 3]
      [7, 5, 8]
      
      1
      [12, 4, 3]
      [7, 5, 8]
      
      2
      [12, 4, 3]
      [7, 5, 8]
      
      3
      [12, 4, 3]
      [7, 5, 8]
      
      4
      [12, 4, 3]
      [7, 5, 8]
      
      5
      [12, 4, 3]
      [7, 5, 8]
      
      4
      [12, 4, 3]
      [7, 5, 8]
      
      7
      [12, 4, 3]
      [7, 5, 8]
      
      6
      [12, 4, 3]
      [7, 5, 8]
      
      9
      [12, 4, 3]
      [7, 5, 8]
      
      4
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      1
      [12, 4, 3]
      [7, 5, 8]
      
      4
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      3
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      4

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [12, 4, 3]
      [7, 5, 8]
      
      31

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      9
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      3
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      4

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [12, 4, 3]
      [7, 5, 8]
      
      37

      for

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      6
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      7 for2

      [12, 4, 3]
      [7, 5, 8]
      
      00
      [12, 4, 3]
      [7, 5, 8]
      
      1
      [12, 4, 3]
      [7, 5, 8]
      
      02
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      9
      [12, 4, 3]
      [7, 5, 8]
      
      044

      for

      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      6
      ''' Program to transpose a matrix using list comprehension'''
      
      X = [[12,7],
          [4 ,5],
          [3 ,8]]
      
      result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
      
      for r in result:
         print(r)
      7
      [12, 4, 3]
      [7, 5, 8]
      
      09

      Lưu ý:- Nếu bạn muốn kết quả của mình trong biểu mẫu [[1,4,7,10] [2,5,8,11] [3,6,9,12]], bạn có thể sử dụng t_matrix = map (list, list, zip (*ma trận)).

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      9
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      3
      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      
      4

      [1, 2]
      [3, 4]
      [5, 6]
      
      
      [1, 3, 5]
      [2, 4, 6]
      
      0
      [12, 4, 3]
      [7, 5, 8]
      
      62

      Output:

      [[1 2 3]
       [4 5 6]]
      
      [[1 4]
       [2 5]
       [3 6]]
      

      Sử dụng Numpy: Numpy là gói xử lý mảng đa năng được thiết kế để thao tác hiệu quả các mảng đa chiều lớn. Phương pháp chuyển đổi trả về một chế độ xem chuyển đổi của ma trận đa chiều được truyền.

    [12, 4, 3]
    [7, 5, 8]
    
    13
    [12, 4, 3]
    [7, 5, 8]
    
    14Mayank Rawat & simply modified by Md. Tahmid Hasan. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Hoặc, chỉ đơn giản là sử dụng ".t" sau khi biến


    Làm thế nào để bạn viết một ma trận chuyển vị trong Python?

    Làm thế nào để bạn sử dụng chức năng chuyển vị trong Python?transpose of A[][] is obtained by changing A[i][j] to A[j][i]. For Square Matrix: The below program finds transpose of A[][] and stores the result in B[][], we can change N for different dimension.

    Làm thế nào để bạn chuyển một ma trận trong Python Numpy?

    Numpy làm thế nào để chuyển một ma trận..
    Nhập Numpy dưới dạng NP ..
    A = np.Mảng ([[1, 2], [3, 4]]).
    A_t = A. Chuyển đổi ().
    print(A_T).

    Làm thế nào để bạn sử dụng chức năng chuyển vị trong Python?

    Ví dụ 3: Các yếu tố định vị sử dụng Numpy ...
    Nhập Numpy dưới dạng NP ..
    a=np.ones((12,32,123,64)).
    b=np.transpose(a,(1,3,0,2)).shape..
    c=np.transpose(a,(0,3,1,2)).shape..

    Làm cách nào để chuyển một ma trận?

    Để tính toán chuyển đổi của một ma trận, chỉ cần trao đổi các hàng và cột của ma trận, tức là viết các phần tử của các hàng dưới dạng các cột và viết các phần tử của một cột dưới dạng hàng.interchange the rows and columns of the matrix i.e. write the elements of the rows as columns and write the elements of a column as rows.