1. Đối tượng Ndarray trong Numpy
Ndarray là đối tượng mảng n chiều được định nghĩa trong numpy lưu trữ tập hợp các phần tử cùng loại. Nói cách khác, chúng ta có thể định nghĩa một ndarray là tập hợp các đối tượng có cùng kiểu dữ liệu (dtype).
Đối tượng ndarray có thể được truy cập tới các phần tử có bên trong bằng cách sử dụng lập chỉ mục dựa trên phần từ đầu tiên có chỉ mục 0, phần tử thứ hai có chỉ mục 1…. phần tử cuối có chỉ mục N – 1. Mỗi phần tử của đối tượng Array có cùng kích thước trong bộ nhớ.
2. Tạo một mảng bằng Numpy
Đối tượng ndarray có thể được tạo bằng cách sử dụng cú pháp mảng của mô-đun numpy. Để tạo được một Ndarray trong Numpy, chúng ta cần nhập numpy vào chương trình Python của mình và sử dụng hàm np.array() và truyền vào mảng 1 chiều, 2chiều, 3 chiều (1-D, 2-D, 3-D)….
2.1 Tạo mảng 1 chiều bằng Numpy
Mảng có các phần tử là mảng 0-D được gọi là mảng 1 chiều hoặc 1-D.Đây là những mảng cơ bản và phổ biến nhất trong Python. Trong toán học, mảng 1 chiều thường được hiểu là 1 vectơ.
Ví dụ dưới đây tạo một mảng 1 chiều (1D array) trong Numpy với các phần tử bên trong là số nguyên.
import numpy as np # Tao mang 1D array voi Numpy arrA = np.array([1, 2, 3, 4, 5]) print(arrA)
Kết quả:
[1 2 3 4 5]
2.2 Tạo mảng 2 chiều bằng Numpy
Mảng có chứa các phần tử là mảng 1-D được gọi là mảng 2 chiều hay 2-D. Trong toán học, chúng thường được sử dụng để biểu diễn ma trận hoặc tenxơ bậc 2.
Ví dụ dưới đây tạo một mảng 1 chiều trong numpy bằng cách truyền vào hàm np.array() một mảng hai chiều (2D array) như bên dưới:
import numpy as np # Tao mang 2D array voi Numpy arrA = np.array([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10] ]) print(arrA)
Kết quả:
[[ 1 2 3 4 5] [ 6 7 8 9 10]]
2.3 Tạo mảng 3 chiều bằng Numpy
Mảng có chứa các phần tử là mảng 2-D (ma trận) được gọi là mảng 3 chiều hay 3-D. Trong toán học, chúng thường được sử dụng để đại diện cho một tensor bậc 3.
Ví dụ dưới đây, chúng ta sẽ tạo một mảng ba chiều (3D array) trong Numpy sẽ như sau:
import numpy as np # Tao mang 3D array voi Numpy arrA = np.array([ [[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]] ]) print(arrA)
Kết quả:
[[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]]]
2.4 Tạo mảng N chiều bằng Numpy
Ở các phần trên, chúng ta mới chỉ thực hiện đến việc tạo một mảng có số chiều lớn nhất là 3 chiều hay 3-D. Tuy nhiên, bạn cũng có thể tạo ra một mảng trong Numpy với số chiều được chỉ định trước bằng cách thêm tham số ndmin vào trong phương thức np.array()
import numpy as np # Tao mang 5-D array arrA = np.array([1, 2, 3, 4], ndmin=5) print(arrA) print('So chieu cua mang:',arrA.ndim)
Kết quả:
[[[[[1 2 3 4]]]]] So chieu cua mang: 5
3. Kiểm tra số chiều (ndim) của mảng Numpy
NumPy Arrays cung cấp cho chúng ta thuộc tính np.ndim được sử dụng để trả về một số nguyên cho chúng ta biết một mảng có số chiều là bao nhiêu.
Ví dụ dưới đây, sử dụng thuộc tính np.ndim để kiểm tra số chiều của 4 mảng mà ta thương khai báo và sử dụng đó là: array 0-D, array 1-D, array 2-D, array 3-D. Trong toán học, các mảng này sẽ được hiểu lần lượt là: số vô hướng, vectơ, ma trận, tenxơ bậc 3.
import numpy as np # array 0-D a = np.array(42) # array 1-D b = np.array([1, 2, 3, 4, 5]) # array 2-D c = np.array([[1, 2, 3], [4, 5, 6]]) # array 3-D d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) print(a.ndim) print(b.ndim) print(c.ndim) print(d.ndim)
Kết quả:
0 1 2 3
4. Kiểm tra hình dạng (shape) của mảng Numpy
import numpy as np # array 0-D a = np.array(42) # array 1-D b = np.array([1, 2, 3, 4, 5]) # array 2-D c = np.array([[1, 2, 3], [4, 5, 6]]) # array 3-D d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) # Kiem tra hinh dang print(a.shape) print(b.shape) print(c.shape) print(d.shape)
Kết quả:
() (1,5) (2, 3) (2, 2, 3)
Trong đó:
- () là không có hình dạng
- (1,5) là hình dạng 1 x n
- (2,3) là hình dạng m x n
- (2, 2, 3) là hình dạng d x m x n
Hình ảnh dưới đây, miêu tả rõ hơn về hình dạng của mảng 1-D, 2-D, 3-D Numpy thông qua các đại lượng toán học như: vectơ, ma trận, tenxơ
5. Kiểm tra kích thước (size) của mảng Numpy
Trong một mảng numpy, kích thước của một mảng chính là số lượng phần tử có trong mảng đó. Numpy cho phép chúng ta kiểm tra được kích thước của một mảng bằng cách sử dụng thuộc tính np.size để kiểm tra.
import numpy as np # array 0-D a = np.array(42) # array 1-D b = np.array([1, 2, 3, 4, 5]) # array 2-D c = np.array([[1, 2, 3], [4, 5, 6]]) # array 3-D d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) # Kiem tra kich thuoc print(a.size) print(b.size) print(c.size) print(d.size)
Kết quả:
1 5 6 12