Ma trận là cấu trúc dữ liệu hai chiều trong đó các số được sắp xếp thành các hàng và cột. Ví dụ:
Ma trận này là ma trận 3x4 [phát âm là "ba by bốn"] vì nó có 3 hàng và 4 cột.
Python không có loại tích hợp cho ma trận. Tuy nhiên, chúng tôi có thể coi một danh sách một danh sách là một ma trận. Ví dụ:
A = [[1, 4, 5],
[-5, 8, 9]]
Chúng ta có thể coi danh sách này của một danh sách là một ma trận có 2 hàng và 3 cột.
Hãy chắc chắn tìm hiểu về danh sách Python trước khi tiến hành bài viết này.
Hãy xem cách làm việc với một danh sách lồng nhau.
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
Khi chúng tôi chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]
Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
- Thêm hai ma trận
- Chuyển một ma trận
- Nhân hai ma trận
Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.
Mảng numpy
Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,
- Truy cập: Làm thế nào để cài đặt Numpy?
- Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.
Khi Numpy được cài đặt, bạn có thể nhập và sử dụng nó.
Numpy cung cấp mảng số đa chiều [thực sự là một đối tượng]. Hãy lấy một ví dụ:
import numpy as np
a = np.array[[1, 2, 3]]
print[a] # Output: [1, 2, 3]
print[type[a]] # Output:
Như bạn có thể thấy, lớp mảng của Numpy được gọi là
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]1.
Làm thế nào để tạo ra một mảng numpy?
Có một số cách để tạo ra các mảng numpy.
1. Mảng số nguyên, phao và số phức tạp
import numpy as np
A = np.array[[[1, 2, 3], [3, 4, 5]]]
print[A]
A = np.array[[[1.1, 2, 3], [3, 4, 5]]] # Array of floats
print[A]
A = np.array[[[1, 2, 3], [3, 4, 5]], dtype = complex] # Array of complex numbers
print[A]
Khi bạn chạy chương trình, đầu ra sẽ là:
[[1 2 3] [3 4 5]] [[1.1 2. 3. ] [3. 4. 5. ]] [[1.+0.j 2.+0.j 3.+0.j] [3.+0.j 4.+0.j 5.+0.j]]
2. Mảng số không và những cái
import numpy as np
zeors_array = np.zeros[ [2, 3] ]
print[zeors_array]
'''
Output:
[[0. 0. 0.]
[0. 0. 0.]]
'''
ones_array = np.ones[ [1, 5], dtype=np.int32 ] // specifying dtype
print[ones_array] # Output: [[1 1 1 1 1]]
Ở đây, chúng tôi đã chỉ định
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]2 đến 32 bit [4 byte]. Do đó, mảng này có thể lấy các giá trị từ
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]3 đến
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]4.
3. Sử dụng Arange [] và Shape []
import numpy as np
A = np.arange[4]
print['A =', A]
B = np.arange[12].reshape[2, 6]
print['B =', B]
'''
Output:
A = [0 1 2 3]
B = [[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]
'''
Tìm hiểu thêm về các cách khác để tạo ra một mảng numpy.
Hoạt động ma trận
Trên đây, chúng tôi đã đưa cho bạn 3 ví dụ: bổ sung hai ma trận, nhân hai ma trận và chuyển đổi ma trận. Chúng tôi đã sử dụng danh sách lồng nhau trước đây để viết các chương trình đó. Hãy xem làm thế nào chúng ta có thể thực hiện cùng một nhiệm vụ bằng cách sử dụng mảng numpy.
Bổ sung hai ma trận
Chúng tôi sử dụng toán tử
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]5 để thêm các phần tử tương ứng của hai ma trận numpy.
import numpy as np
A = np.array[[[2, 4], [5, -6]]]
B = np.array[[[9, -3], [3, 6]]]
C = A + B # element wise addition
print[C]
'''
Output:
[[11 1]
[ 8 0]]
'''
Nhân hai ma trận
Để nhân hai ma trận, chúng tôi sử dụng phương pháp
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]6. Tìm hiểu thêm về cách Numpy.dot hoạt động.
Lưu ý: A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
7 được sử dụng để nhân mảng [nhân các phần tử tương ứng của hai mảng] không nhân Matrix.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]7 is used for array multiplication [multiplication of corresponding elements of two arrays] not matrix multiplication.
import numpy as np
A = np.array[[[3, 6, 7], [5, -3, 0]]]
B = np.array[[[1, 1], [2, 1], [3, -3]]]
C = A.dot[B]
print[C]
'''
Output:
[[ 36 -12]
[ -1 2]]
'''
Chuyển đổi ma trận
Chúng tôi sử dụng numpy.transpose để tính toán chuyển đổi của một ma trận.
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
0Như bạn có thể thấy, Numpy làm cho nhiệm vụ của chúng tôi dễ dàng hơn nhiều.
Truy cập các phần tử, hàng và cột Ma trận truy cập
Truy cập các yếu tố ma trận
Tương tự như danh sách, chúng ta có thể truy cập các yếu tố ma trận bằng chỉ mục. Hãy bắt đầu với một mảng numpy một chiều.
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
1Khi bạn chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
22. Mảng số không và những cái
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
3Khi chúng tôi chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
4Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
5Khi chúng tôi chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
6Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
Thêm hai ma trậnKhi chúng tôi chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
8Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
Thêm hai ma trận
Chuyển một ma trận
Nhân hai ma trận
A = [[1, 4, 5, 12],
[-5, 8, 9, 0],
[-6, 7, 11, 19]]
print["A =", A]
print["A[1] =", A[1]] # 2nd row
print["A[1][2] =", A[1][2]] # 3rd element of 2nd row
print["A[0][-1] =", A[0][-1]] # Last element of 1st Row
column = []; # empty list
for row in A:
column.append[row[2]]
print["3rd column =", column]
9Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]0
Mảng numpy
Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,
- Truy cập: Làm thế nào để cài đặt Numpy?
- Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.