×

Sử dụng NumPy để làm việc với mảng và ma trận trong Python

Trong lập trình Python, thư viện NumPy (Numeric Python) đặc biệt quan trọng khi làm việc với các mảng (arrays) và ma trận (matrices) nhờ vào hiệu suất cao và khả năng xử lý các tính toán số học phức tạp. Thư viện này được thiết kế để hoạt động với dữ liệu số một cách hiệu quả và linh hoạt, phục vụ tốt cho cả các dự án nhỏ và những khối lượng công việc lớn trong nghiên cứu khoa học và kỹ thuật.

Cài đặt NumPy

Trước tiên, để cài đặt NumPy, bạn có thể sử dụng pip:

pip install numpy

Khởi tạo mảng (arrays)

Mảng là cấu trúc dữ liệu cơ bản trong NumPy. Bạn có thể dễ dàng khởi tạo mảng từ danh sách Python bằng cách sử dụng hàm numpy.array().

import numpy as np

# Tạo mảng một chiều
mang_mot_chieu = np.array([1, 2, 3, 4, 5])

# Tạo mảng hai chiều
mang_hai_chieu = np.array([[1, 2, 3], [4, 5, 6]])

NumPy hỗ trợ các kiểu mảng nhiều chiều, tùy theo yêu cầu của dự án.

Các phương pháp khởi tạo khác

Ngoài việc khởi tạo mảng từ danh sách, NumPy cung cấp nhiều phương pháp khởi tạo khác, như:

  • Khởi tạo mảng toàn số 0 hoặc số 1: numpy.zeros(), numpy.ones()
  • Khởi tạo mảng với các giá trị ngẫu nhiên: numpy.random.rand()
  • Tạo mảng với dải giá trị đều: numpy.arange(), numpy.linspace()

Các phép toán trên mảng

Một trong những lợi ích lớn của NumPy là khả năng thực hiện các phép toán nhanh và hiệu quả:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# Phép cộng, trừ, nhân, chia element-wise
tong = a + b
hieu = a - b
nhan = a * b
chia = a / b

Làm việc với ma trận (matrices)

Ma trận là một dạng mảng hai chiều. NumPy hỗ trợ các phép toán ma trận như nhân ma trận, chuyển vị, và nghịch đảo ma trận:

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# Nhân ma trận
C = np.dot(A, B)

# Chuyển vị ma trận
A_T = A.T

# Nghịch đảo ma trận
A_inv = np.linalg.inv(A)

Tính toán các giá trị thống kê

NumPy cung cấp các hàm tính toán giá trị thống kê như trung bình, phương sai, cực trị:

data = np.array([1, 2, 3, 4, 5])

# Trung bình
mean = np.mean(data)

# Phương sai
variance = np.var(data)

# Giá trị lớn nhất và nhỏ nhất
max_val = np.max(data)
min_val = np.min(data)

Sắp xếp và lọc mảng

Bạn có thể sắp xếp và lọc dữ liệu một cách dễ dàng với NumPy:

data = np.array([3, 1, 4, 1, 5, 9])

# Sắp xếp
sorted_data = np.sort(data)

# Lọc dữ liệu, ví dụ, chọn các giá trị lớn hơn 2
filtered_data = data[data > 2]

Kết luận

Những tính năng và khả năng mạnh mẽ của NumPy giúp cho việc xử lý và tính toán với mảng và ma trận trở nên đơn giản, hiệu quả và nhanh chóng. Dù bạn là một nhà khoa học dữ liệu, nhà nghiên cứu hay nhà phát triển phần mềm, việc thành thạo NumPy sẽ mang lại những lợi ích lớn trong quá trình làm việc với dữ liệu số.

Comments