Khởi tạo mảng
Có 6 cơ chế chung để tạo mảng:
- Chuyển đổi từ các cấu trúc Python khác (ví dụ: danh sách và tuple)
- Các hàm khởi tạo mảng nội tại của NumPy (ví dụ: arange, ones, zeros, v.v.)
- Sao chép, nối hoặc thay đổi các mảng hiện có
- Đọc mảng từ đĩa, từ các định dạng tiêu chuẩn hoặc tùy chỉnh
- Tạo mảng từ các byte thô thông qua việc sử dụng chuỗi hoặc bộ đệm
- Sử dụng các hàm thư viện đặc biệt (ví dụ: random)
Chuyển đổi các chuỗi Python sang mảng NumPy
Các mảng NumPy có thể được định nghĩa bằng các chuỗi Python như danh sách (list) và tuple.
import numpy as np
# Mảng 1D
a1D = np.array([1, 2, 3, 4])
# Mảng 2D
a2D = np.array([[1, 2], [3, 4]])
# Mảng 3D
a3D = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])Khi bạn sử dụng numpy.array, bạn có thể chỉ định dtype:
np.array([127, 128, 129], dtype=np.int16)Các hàm khởi tạo mảng nội tại của NumPy
Các hàm khởi tạo mảng 1D
numpy.arange thường cần ít nhất hai đầu vào: bắt đầu (start) và kết thúc (stop).
np.arange(10)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(2, 10, dtype=float)
# array([2., 3., 4., 5., 6., 7., 8., 9.])
np.arange(2, 3, 0.1)
# array([2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])numpy.linspace sẽ tạo các mảng với số lượng phần tử được chỉ định và giãn cách đều nhau giữa các giá trị bắt đầu và kết thúc được chỉ định.
np.linspace(1., 4., 6)
# array([1. , 1.6, 2.2, 2.8, 3.4, 4. ])Các hàm khởi tạo mảng 2D
numpy.eye định nghĩa một ma trận đơn vị 2D.
np.eye(3)
# array([[1., 0., 0.],
# [0., 1., 0.],
# [0., 0., 1.]])numpy.diag có thể định nghĩa mảng 2D hình vuông với các giá trị cho trước dọc theo đường chéo, hoặc nếu được truyền một mảng 2D, nó sẽ trả về một mảng 1D chỉ chứa các phần tử trên đường chéo.
np.diag([1, 2, 3])
# array([[1, 0, 0],
# [0, 2, 0],
# [0, 0, 3]])Các hàm khởi tạo mảng ndarray chung
numpy.zeros: Tạo một mảng chứa đầy các giá trị 0.numpy.ones: Tạo một mảng chứa đầy các giá trị 1.
np.zeros((2, 3))
# array([[0., 0., 0.],
# [0., 0., 0.]])
np.ones((2, 3))
# array([[1., 1., 1.],
# [1., 1., 1.]])Last updated on
Python