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] # 9Cắ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
Python