Chỉ mục trên ndarray
Chỉ mục cơ bản
Phần tiêu đề “Chỉ mục cơ bản”Chỉ mục phần tử đơn
Phần tiêu đề “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] # 2x[-2] # 8Đối với mảng đa chiều:
x.shape = (2, 5) # giờ x là mảng 2 chiềux[1, 3] # 8x[1, -1] # 9Cắt lát (Slicing) và bước nhảy (striding)
Phần tiêu đề “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
Phần tiêu đề “Chỉ mục nâng cao”Chỉ mục bằng mảng số nguyên
Phần tiêu đề “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
Phần tiêu đề “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.])