Table of contents
Open Table of contents
1. Cắt mảng 1 chiều
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# Cắt từ index 1 đến 5 (không bao gồm 5)
print(arr[1:5]) # Kết quả: [2 3 4 5]
# Cắt từ index 4 đến hết
print(arr[4:]) # Kết quả: [5 6 7]
# Cắt từ đầu đến index 4
print(arr[:4]) # Kết quả: [1 2 3 4]
# Sử dụng bước nhảy (step)
print(arr[1:5:2]) # Kết quả: [2 4]
# Lấy mọi phần tử khác (cách 1 phần tử)
print(arr[::2]) # Kết quả: [1 3 5 7]
2. Cắt mảng 2 chiều
Đối với mảng 2 chiều, chúng ta xác định lát cắt cho cả hàng và cột.
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
# Ở hàng thứ 2 (index 1), cắt từ index 1 đến index 4
print(arr[1, 1:4]) # Kết quả: [7 8 9]
# Từ cả hai hàng, lấy phần tử ở index 2
print(arr[0:2, 2]) # Kết quả: [3 8]
# Từ cả hai hàng, cắt index cột từ 1 đến 4
print(arr[0:2, 1:4])
Kết quả ví dụ cuối:
[[2 3 4]
[7 8 9]]
3. Cắt bằng chỉ số âm
Tương tự Indexing, Slicing cũng hỗ trợ chỉ số âm.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# Cắt từ index 3 (từ cuối) đến index 1 (từ cuối)
print(arr[-3:-1]) # Kết quả: [5 6]
Lời kết Bài 14
Slicing là kỹ thuật cực kỳ quan trọng giúp bạn trích xuất các mảng con từ dữ liệu thô. Ở bài tiếp theo, chúng ta sẽ tìm hiểu về Kiểu dữ liệu (Data Types) trong NumPy và cách chuyển đổi chúng.
Hẹn gặp lại các bạn!