Cách chuyển vị trí ma trận trong python

Trong hướng dẫn này, chúng ta sẽ viết một chương trình Python để chuyển vị ma trận và in kết quả ra đầu ra

Trước khi viết chương trình Python, trước tiên chúng ta hãy xem tổng quan về phép chuyển vị của ma trận

Chuyển vị của một ma trận

Nếu bạn thay đổi các hàng của ma trận bằng cột của cùng một ma trận, nó được gọi là chuyển vị của ma trận. Kí hiệu là X'. Ví dụ. Phần tử ở hàng thứ i và cột thứ j trong X sẽ được đặt ở hàng thứ j và cột thứ i trong X'

Thí dụ. Giả sử chúng ta đã cho ma trận sau A

Tại sẽ là chuyển vị của ma trận đã cho ở trên i. e. , A[i][j] = At[j][i] và do đó At phải là

At = [5, 2, 4, 8]
        [4, 4, 7, 1]
        [3, 6, 9, 3]

Chương trình Python chuyển vị ma trận

Bây giờ, chúng ta sẽ viết một chương trình Python để hoán vị một ma trận đã cho đầu vào nơi chúng ta thực hiện thao tác như chúng ta đã thực hiện trong ví dụ nêu trên. Để thực hiện thao tác hoán vị trên ma trận, chúng ta sẽ sử dụng phương thức vòng lặp for lồng nhau

Hoán vị một ma trận có nghĩa là chúng ta đang chuyển các cột của nó thành các hàng của nó. Hãy hiểu nó bằng một ví dụ nếu trông như thế nào sau khi chuyển vị

Giả sử bạn có ma trận gốc giống như -

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

Trong ma trận “x” trên, chúng ta có hai cột, chứa 1, 3, 5 và 2, 4, 6

Vì vậy, khi chúng ta hoán vị ma trận “x” ở trên, các cột sẽ trở thành các hàng. Vì vậy, phiên bản chuyển đổi của ma trận ở trên sẽ trông giống như -

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

Vì vậy, chúng tôi có một ma trận 'x1' khác, được tổ chức khác nhau với các giá trị khác nhau ở những nơi khác nhau

Dưới đây là một số cách để thực hiện điều này trong python -

Phương pháp 1 - Chuyển đổi ma trận bằng Vòng lặp lồng nhau -

#Original Matrix
x = [[1,2],[3,4],[5,6]]
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]

Kết quả

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

Phương pháp 2 - Chuyển đổi ma trận bằng cách sử dụng Danh sách lồng nhau

#Original Matrix
x = [[1,2],[3,4],[5,6]]
result = [[x[j][i] for j in range[len[x]]] for i in range[len[x[0]]]]
for r in Result
   print[r]

Kết quả

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

Khả năng hiểu danh sách cho phép chúng ta viết mã ngắn gọn và nên được sử dụng thường xuyên trong python

Phương pháp 3 - Chuyển đổi ma trận bằng Zip

#Original Matrix
x = [[1,2],[3,4],[5,6]]
result = map[list, zip[*x]]
for r in Result
   print[r]

Kết quả

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

Phương pháp 4 - Chuyển đổi ma trận bằng thư viện numpy Thư viện numpy là một gói xử lý mảng được xây dựng để thao tác hiệu quả với mảng lớn nhiều chiều

Bạn có thể sử dụng hàm

x = [[1,2][3,4][5,6]]
8 hoặc
x = [[1,2][3,4][5,6]]
9 để hoán vị hoặc đặt trước thứ nguyên của ma trận đầu vào. Chuyển vị của ma trận có được bằng cách di chuyển dữ liệu cột sang hàng và dữ liệu hàng sang cột. Các hàm
x1 = [[1, 3, 5][2, 4, 6]]
0 này chủ yếu được sử dụng để chuyển đổi mảng 2 chiều. Điều này không hiển thị bất kỳ ảnh hưởng nào đối với mảng một chiều, Khi bạn thử hoán vị mảng 1 chiều, nó sẽ trả về dạng xem chưa sửa đổi của mảng ban đầu

Trong bài viết này, tôi sẽ giải thích khái niệm về hàm Python NumPy

x1 = [[1, 3, 5][2, 4, 6]]
1 và sử dụng hàm này để đảo ngược kích thước của ma trận đã cho. Nếu bạn muốn hoán vị một mảng, hãy tham khảo hàm NumPy transpose[]

1. Ví dụ nhanh về ma trận chuyển vị NumPy

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách hoán vị ma trận NumPy


# Below are the quick examples

# Example 1: Use matrix.transpose[] method
# get the transpose of matrix
arr = np.matrix['[4, 8; 1, 12]']
arr2 = arr.transpose[]

# Example 2:  Use numpy.transpose[] function 
# Get the transpose of array
arr = np.array
arr2 = arr.transpose[[[1, 2, 4, 3],[1, 3, 5, 6]]]

# Example 3: Use numpy.mutiply[] function 
arr2 = np.multiply[arr, arr1]

2. Cú pháp của ma trận NumPy. chuyển vị[]

Sau đây là cú pháp của ma trận. chức năng chuyển vị []

x = [[1,2][3,4][5,6]]
0

2. 1 Các tham số của ma trận NumPy. chuyển vị[]

Phải mất hai tham số

  • x = [[1,2][3,4][5,6]]
    00 – Ma trận đầu vào
  • x = [[1,2][3,4][5,6]]
    01 – Danh sách các số nguyên, tương ứng với các kích thước. Theo mặc định, kích thước được đảo ngược. Nếu ai muốn truyền tham số thì bạn có thể nhưng không bắt buộc. Nhưng nếu bạn muốn thì nhớ chỉ vượt qua [0, 1] hoặc [1, 0]. Giống như bạn có ma trận hình dạng [2, 3] để thay đổi nó [3, 2], bạn nên chuyển [1, 0] trong đó 1 là 2 và 0 là 3

2. 2 Giá trị trả về của ma trận. chuyển vị[]

Nó trả về một dạng xem của mảng với các trục được hoán vị, mảng kết quả sẽ có dạng mảng được hoán vị

3. Cách sử dụng ma trận NumPy. chuyển vị[]

x1 = [[1, 3, 5][2, 4, 6]]
1 này trả về một mảng NumPy bằng cách hoán đổi [hoán đổi] từng hàng và cột tương ứng. Mảng mới được gọi là chuyển vị của ma trận đã cho. Nếu bạn có ma trận dạng [X, Y] thì phép chuyển vị của ma trận sẽ có dạng [Y, X]

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

4. Sử dụng chức năng chuyển đổi NumPy[]

Ngoài ra, chúng ta có thể đảo ngược kích thước của một mảng nhất định bằng cách sử dụng 

x = [[1,2][3,4][5,6]]
9. Hãy tạo mảng NumPy bằng hàm 
x = [[1,2][3,4][5,6]]
04 và chạy hàm hoán vị để biến đổi

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

5. Sử dụng NumPy. phép nhân [] thành phép nhân ma trận

Nếu bạn muốn nhân ma trận theo từng phần tử, bạn có thể sử dụng numpy. hàm multi[] hoặc numpy. chức năng dấu chấm []

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

Sản lượng dưới sản lượng

x = [[1,2][3,4][5,6]]
7

6. Sự kết luận

Trong bài viết này, tôi đã giải thích cách hoán vị ma trận bằng cách sử dụng hàm

x1 = [[1, 3, 5][2, 4, 6]]
1 với các ví dụ

Chủ Đề