Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thao tác ma trận với NumPy trong Python

NumPy cung cấp các hàm hiệu suất cao cho phép toán ma trận: cộng, trừ, nhân, chia, nhân ma trận, căn bậc hai, tổng, chuyển vị.

Khởi tạo ma trận

import numpy as np
x = np.array([[1, 2], [4, 5]])
y = np.array([[7, 8], [9, 10]])

Các phép toán

Code demo đầy đủ

import numpy as np
x = np.array([[1,2],[4,5]])
y = np.array([[7,8],[9,10]])

print("Addition:", np.add(x,y))
print("Subtraction:", np.subtract(x,y))
print("Division:", np.divide(x,y))
print("Element-wise multiply:", np.multiply(x,y))
print("Matrix multiply (dot):", np.dot(x,y))
print("Sqrt:", np.sqrt(x))
print("Sum all:", np.sum(y))
print("Column sum:", np.sum(y, axis=0))
print("Row sum:", np.sum(y, axis=1))
print("Transpose:", x.T)

Lưu ý

  • * trên ndarray là nhân phần tử (Hadamard), không phải nhân ma trận.
  • Nhân ma trận dùng @ (Python 3.5+) hoặc np.dot/np.matmul.
  • axis=0 dọc theo hàng (tổng cột), axis=1 ngang theo cột (tổng hàng).
HàmMô tảVí dụ
np.add(x,y)Cộng phần tử[[8,10],[13,15]]
np.subtract(x,y)Trừ phần tử[[-6,-6],[-5,-5]]
np.multiply(x,y)Nhân phần tử (Hadamard)[[7,16],[36,50]]
np.divide(x,y)Chia phần tử[[0.14,0.25],[0.44,0.5]]
np.dot(x,y)Nhân ma trận (matrix product)[[25,28],[73,82]]
np.sqrt(x)Căn bậc 2 mỗi phần tử[[1,1.41],[2,2.24]]
np.sum(y)Tổng tất cả phần tử34
np.sum(y, axis=0)Tổng theo cột[16,18]
np.sum(y, axis=1)Tổng theo hàng[15,19]
x.TChuyển vị (transpose)[[1,4],[2,5]]