Skip to Content
Python📦 Thư viện NumpyChỉ mục trên ndarray

Chỉ mục trên ndarray

Chỉ mục cơ bản

Chỉ mục phần tử đơn

Chỉ mục phần tử đơn hoạt động giống hệt như đối với các chuỗi Python tiêu chuẩn khác. Nó dựa trên 0 và chấp nhận các chỉ số âm để lập chỉ mục từ cuối mảng.

x = np.arange(10) x[2] # 2 x[-2] # 8

Đối với mảng đa chiều:

x.shape = (2, 5) # giờ x là mảng 2 chiều x[1, 3] # 8 x[1, -1] # 9

Cắt lát (Slicing) và bước nhảy (striding)

Việc cắt lát cơ bản mở rộng khái niệm cắt lát của Python sang N chiều.

x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) x[1:7:2] # array([1, 3, 5])

Chỉ mục nâng cao

Chỉ mục bằng mảng số nguyên

Chỉ mục bằng mảng số nguyên cho phép lựa chọn các mục tùy ý trong mảng dựa trên chỉ mục N chiều của chúng.

x = np.arange(10, 1, -1) x[np.array([3, 3, 1, 8])] # array([7, 7, 9, 2])

Chỉ mục bằng mảng Boolean

Chỉ mục nâng cao này xảy ra khi đối tượng là một mảng kiểu Boolean, chẳng hạn như mảng được trả về từ các toán tử so sánh.

x = np.array([[1., 2.], [np.nan, 3.], [np.nan, np.nan]]) x[~np.isnan(x)] # array([1., 2., 3.])

Hoặc muốn cộng một hằng số vào tất cả các phần tử âm:

x = np.array([1., -1., -2., 3]) x[x < 0] += 20 # array([ 1., 19., 18., 3.])
Last updated on