1. Truy cập phần tử mảng Numpy

Việc truy cập vào môt phần tử của mảng Array Numpy cũng tương tự như việc chúng ta truy cập vào các phần tử có trong List của Python. Bạn có thể truy cập một phần tử mảng bằng cách tham chiếu đến số chỉ mục của nó. Các chỉ mục trong mảng NumPy bắt đầu bằng 0, nghĩa là phần tử đầu tiên có chỉ số 0, phần tử thứ hai có chỉ số 1….phần tử N có chỉ số N – 1

Ví dụ dưới đây, truy cập vào phần tử đầu tiên có trong mảng Numpy bằng chỉ số như sau:
import numpy as np

# Khai bao mang arrA
arrA = np.array([1, 2, 3, 4])

# Lay ra phan tu dau tien trong mang
print(arrA[0])

Kết quả:

1

Ví dụ tiếp theo, lấy ra phần tử đầu tiên phần tử cuối cùng trong mảng sau đó thực hiện phép toán cộng giữa hai phần tử này:

import numpy as np 

# Khai bao mang arrA 
arrA = np.array([1, 2, 3, 4]) 

# Lay ra phan tu dau tien trong mang va cong 2 phan tu nay
print(arrA[0] + arrA[3]) # 1 + 4

Kết quả:

5

Trong trường hợp, ta cần lấy các phần tử theo chiều ngược lại – nghĩa là sẽ lấy từ phần tử cuối cùng trong mảng về phần từ đầu mảng. Khi đó ta cần sử dụng chỉ mục là một số âm. Phần tử cuối cùng có chỉ mục -1, phần tử phía trước có chỉ mục -2, ….phần tử đầu mảng có chỉ mục -N

import numpy as np 

# Khai bao mang arrA 
arrA = np.array([1, 2, 3, 4]) 

# Lay ra phan tu cuoi cung
print(arrA[-1]) 

# Lay ra phan tu dau tien
print(arrA[-4])

# Cong hai phan tu cuoi cung va dau tien
print("arrA[-4] + arrA[-1] = {0}".format(arrA[-4] + arrA[-1]))

Kết quả:

1
4
arrA[-4] + arrA[-1] = 5

2. Truy cập phần tử mảng 2 chiều (2-D) trong Numpy

Để truy cập các phần tử từ mảng 2-D, chúng ta có thể sử dụng các số nguyên được phân tách bằng dấu phẩy biểu thị kích thước và chỉ số của phần tử.

Thực chất, mảng 2-D giống như một bảng với các hàng và cột tương tự như một ma trận có kích thước m x n và các phần tử mảng có hàng thứ i (trong đó i = 1,2,3,4….m), và cột thứ j (trong đó j = 1,2,3,4…n)

Để truy cập vào một mảng hai chiều, chúng ta cần có được chỉ số hàng và chỉ số cột của phần tử đó sau đó phân tách nhau bằng dấu phẩy. Ví dụ dưới đây, truy cập vào phần tử đầu tiên có trong mảng hai chiều bằng chỉ số hàng bằng 0, chỉ số cột bằng 0 (i = 0 và j = 0)

import numpy as np

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

# Truy cap phan tu dau tien trong mang (hang 0, cot 0)
print('arrA[0][0] =',arrA[0, 0])

Kết quả:

arrA[0][0] = 1

Lưu ý: Đối với ma trận trong toán học, chỉ số hàng và chỉ số cột bắt đầu từ 1. Tuy nhiên, trong lập trình cũng như trong Numpy các chỉ số hàng và chỉ số cột bặt đầu từ 0.

Ảnh dưới đây miêu tả rõ hơn về các chỉ số của các phần tử có trong mảng hai chiều trên:

Ví dụ tiếp theo, lấy ra phần tử hàng 0 cột 2 (arrA[0,2]) và phần tử hàng 1 cột 3 (arrA[1,3]) trong mảng hai chiều trên sau đó thực hiện phép tính cộng giưa hai phần tử này:

import numpy as np

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

# Lay ra phan tu arrA[0,2] (hang 0, cot 2)
print(arrA[0, 2])

# Lay ra phan tu arrA[1,3] (hang 1, cot 3)
print(arrA[1, 3])

# arrA[0,2] + arrA[1,3]
print('arrA[0,2] + arrA[1,3] =',arrA[0, 2] + arrA[1,3])

Kết quả:

3
9
arrA[0,2] + arrA[1,3] = 12

3. Truy cập phần tử mảng 3 chiều (3-D) trong Numpy

Để truy cập các phần tử từ mảng 3-D, chúng ta có thể sử dụng các số nguyên được phân tách bằng dấu phẩy biểu thị kích thước và chỉ số của phần tử.

Thực chất, mảng 3-D giống như một không gian có chiều sâu là d các phần tử trong mảng 3-D sẽ là các ma trận (trong đó k = 1,2,3,4…d) các phần tử này là một ma trận có kích thước m x n, ma trận này có các hàng ký hiệu là i (trong đó i = 1,2,3,4….m), và các cột ký hiệu là j (trong đó j = 1,2,3,4…n).
Để truy cập vào một mảng ba chiều, chúng ta cần có được chỉ số chiều sâu k, tiếp theo là chỉ số hàng i và chỉ số cột j của phần tử đó. Sau đó phân tách nhau bằng dấu phẩy. Ví dụ dưới đây, truy cập vào ma trận đầu tiên trong mảng 3-D với chiều sâu k = 0 sau đó truy cập vào hàng i = 1 cột thứ j = 2 của ma trận đó.
import numpy as np

# Mang 3-D kich thuoc d x m x n (2 x 2 x 3)
arrA = np.array([
    [[1, 2, 3], 
    [4, 5, 6]], 
    
    [[7, 8, 9], 
    [10, 11, 12]]
])

# Truy cap phan tu tai vi tri k = 0, i = 1, j = 2
print(arrA[0, 1, 2])

Kết quả:

6

Lưu ý: Các phần tử trong bất kỳ mảng 1-D, 2-D, 3-D đều có chỉ số bắt đầu từ 0.

Tại sao kết quả là 6? Cùng xem hình dưới đây để hiểu rõ hơn nhé!

Ví dụ tiếp theo, lấy ra phần tử tại chiều sâu d = 0 có hàng i = 0 cột j = 2 (arrA[0,0,2]) và phần tử có chiều sâu d = 1 có hàng i = 0 cột j = 2 (arrA[1,0,2])  trong mảng ba chiều trên sau đó thực hiện phép tính cộng giữa hai phần tử này:
import numpy as np

# Mang 3-D kich thuoc d x m x n (2 x 2 x 3)
arrA = np.array([
    [[1, 2, 3], 
    [4, 5, 6]], 
    
    [[7, 8, 9], 
    [10, 11, 12]]
])

# Phan tu tai vi tri k = 0, i = 0, j = 2
print(arrA[0,0,2]) 

# Phan tu tai vi tri k = 1, i = 0, j = 2 
print(arrA[1,0,2]) 

# Cong 2 phan tu
print("arrA[1,0,2] + arrA[0,0,2] =",arrA[1,0,2] + arrA[0,0,2])

Kết quả:

3
9
arrA[1,0,2] + arrA[0,0,2] = 12