| BUỔI 5: NUMPY ARRAYS VÀ OPERATIONS — SỨC MẠNH CỦA TÍNH TOÁN MA TRẬN

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 17:10 | 12 lượt xem

Chào mừng các bạn đến với buổi học thứ 5 trong lộ trình chinh phục dữ liệu với Python. Sau khi đã làm quen với các kiểu dữ liệu cơ bản, hôm nay chúng ta sẽ bước vào thế giới của NumPy (Numerical Python) — thư viện nền tảng cho mọi tính toán khoa học và phân tích dữ liệu chuyên nghiệp.

[!IMPORTANT]
🚀 Bài học này nằm trong chuỗi kiến thức chuyên sâu của: Khóa học Phân tích dữ liệu thực chiến với Python


1️⃣ Khởi Tạo Mảng (Array Creation)

NumPy Array (ndarray) vượt trội hơn Python List nhờ tốc độ xử lý cực nhanh và tiết kiệm bộ nhớ. Chúng ta có nhiều cách để tạo ra một “ma trận” dữ liệu:

import numpy as np

# Tạo từ list
arr = np.array([1, 2, 3, 4, 5])

# Tạo mảng toàn số 0 hoặc số 1
zeros = np.zeros((3, 3)) # Ma trận 3x3 toàn số 0
ones = np.ones((2, 5))   # Ma trận 2x5 toàn số 1

# Tạo mảng theo phạm vi
range_arr = np.arange(0, 10, 2) # [0, 2, 4, 6, 8]

2️⃣ Truy Xuất Phần Tử (Indexing & Slicing)

Truy xuất dữ liệu trong NumPy cực kỳ linh hoạt, tương tự như list nhưng hỗ trợ đa chiều mạnh mẽ hơn.

  • Indexing: Truy cập phần tử cụ thể bằng chỉ số (bắt đầu từ 0).
  • Slicing: Cắt mảng để lấy ra một vùng dữ liệu mong muốn.
data = np.array([[10, 20, 30], [40, 50, 60]])

# Lấy phần tử hàng 0, cột 1
print(data[0, 1]) # Kết quả: 20

# Cắt lấy toàn bộ cột thứ 2
print(data[:, 1]) # Kết quả: [20, 50]

3️⃣ Phép Toán Ma Trận (Mathematical Operations)

Sức mạnh thực sự của NumPy nằm ở Vectorization — cho phép thực hiện các phép toán trên toàn bộ mảng mà không cần dùng vòng lặp `for` chậm chạp.

  • Phép toán vô hướng: Cộng, trừ, nhân, chia một hằng số cho mọi phần tử.
  • Phép toán giữa các mảng: Tính toán tương ứng theo từng vị trí (element-wise).
  • Hàm thống kê: np.sum(), np.mean(), np.std(),…
a = np.array([1, 2, 3])
b = np.array([10, 20, 30])

# Cộng hai mảng
print(a + b) # [11, 22, 33]

# Nhân bình phương
print(a ** 2) # [1, 4, 9]

# Tính trung bình cộng
print(np.mean(b)) # 20.0

TỔNG KẾT BUỔI 5

Làm chủ được NumPy Array là bạn đã nắm giữ chiếc chìa khóa đầu tiên để mở cánh cửa Data Science. Tốc độ và sự linh hoạt của ndarray sẽ giúp chúng ta xử lý hàng triệu dòng dữ liệu chỉ trong tích tắc ở các buổi học về Pandas tiếp theo.

Hãy thực hành ngay các ví dụ trên để ghi nhớ sâu hơn nhé!


💡 Khám phá lộ trình từ Zero đến Hero về dữ liệu tại: Hướng nghiệp Python – Data Analysis