NumPy Array Slicing


Cắt mảng

Cắt trong python có nghĩa là lấy các phần tử từ một chỉ mục nhất định sang một chỉ mục nhất định khác.

Chúng tôi chuyển lát cắt thay vì chỉ mục như thế này :.[start:end]

Chúng ta cũng có thể xác định bước, như sau :.[start:end:step]

Nếu chúng tôi không vượt qua bắt đầu, nó được coi là 0

Nếu chúng tôi không vượt qua kết thúc chiều dài được coi là của mảng trong thứ nguyên đó

Nếu chúng ta không vượt qua bước, nó được coi là 1

Thí dụ

Cắt các phần tử từ chỉ số 1 đến chỉ số 5 từ mảng sau:

import numpy as np

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

print(arr[1:5])

Lưu ý: Kết quả bao gồm chỉ mục bắt đầu, nhưng loại trừ chỉ mục kết thúc.

Thí dụ

Cắt các phần tử từ chỉ số 4 đến cuối mảng:

import numpy as np

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

print(arr[4:])

Thí dụ

Phần tử cắt từ đầu đến chỉ mục 4 (không bao gồm):

import numpy as np

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

print(arr[:4])


Lát phủ định

Sử dụng toán tử trừ để tham chiếu đến một chỉ mục từ cuối:

Thí dụ

Cắt từ chỉ mục 3 từ cuối xuống chỉ mục 1 từ cuối:

import numpy as np

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

print(arr[-3:-1])

BƯƠC

Sử dụng stepgiá trị để xác định bước của quá trình cắt lát:

Thí dụ

Trả lại mọi phần tử khác từ chỉ mục 1 đến chỉ mục 5:

import numpy as np

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

print(arr[1:5:2])

Thí dụ

Trả về mọi phần tử khác từ toàn bộ mảng:

import numpy as np

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

print(arr[::2])

Cắt mảng 2-D

Thí dụ

Từ phần tử thứ hai, cắt các phần tử từ chỉ mục 1 đến chỉ mục 4 (không bao gồm):

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4])

Lưu ý: Hãy nhớ rằng phần tử thứ hai có chỉ số 1.

Thí dụ

Từ cả hai phần tử, trả về chỉ mục 2:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2])

Thí dụ

Từ cả hai phần tử, lát cắt chỉ mục 1 đến chỉ mục 4 (không được bao gồm), điều này sẽ trả về một mảng 2-D:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4])

Kiểm tra bản thân với các bài tập

Bài tập:

Chèn cú pháp cắt đúng để in vùng chọn sau của mảng:

Mọi thứ từ (bao gồm) mục thứ hai đến (không bao gồm) mục thứ năm.

arr = np.array([10, 15, 20, 25, 30, 35, 40])

print(arr)