Skip to content

Tự học Python - Bài 14: Cắt mảng NumPy (Array Slicing)

Anh Pi
Published date:
Edit this post

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!

Previous
Tự học Python - Bài 15: Kiểu dữ liệu trong NumPy (Data Types)
Next
Tự học Python - Bài 13: Truy cập phần tử mảng NumPy (Array Indexing)