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
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 và 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ử.
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é!
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