NumPy cho người mới bắt đầu
Cách import NumPy
Sau khi cài đặt NumPy, nó có thể được import vào mã Python như sau:
import numpy as npQuy ước phổ biến này cho phép truy cập các tính năng của NumPy với tiền tố ngắn gọn, dễ nhận biết (np.) đồng thời phân biệt các tính năng của NumPy với các tính năng khác có cùng tên.
Thêm, xóa và sắp xếp các phần tử
Sắp xếp một mảng thật đơn giản với np.sort().
arr = np.array([2, 1, 5, 3, 7, 4, 6, 8])
np.sort(arr)
# array([1, 2, 3, 4, 5, 6, 7, 8])Bạn có thể nối các mảng với np.concatenate().
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
np.concatenate((a, b))
# array([1, 2, 3, 4, 5, 6, 7, 8])Cách chuyển đổi mảng 1D thành mảng 2D
Bạn có thể sử dụng np.newaxis và np.expand_dims để tăng kích thước của mảng hiện có.
a = np.array([1, 2, 3, 4, 5, 6])
a.shape
# (6,)
# Thêm một trục mới dọc theo chiều thứ nhất (vector hàng)
row_vector = a[np.newaxis, :]
row_vector.shape
# (1, 6)
# Thêm một trục mới dọc theo chiều thứ hai (vector cột)
col_vector = a[:, np.newaxis]
col_vector.shape
# (6, 1)Bạn cũng có thể sử dụng np.expand_dims:
b = np.expand_dims(a, axis=1)
b.shape
# (6, 1)Tạo ma trận
Bạn có thể truyền các danh sách Python lồng nhau để tạo một mảng 2 chiều (hoặc “ma trận”) để biểu diễn chúng trong NumPy.
data = np.array([[1, 2], [3, 4], [5, 6]])Tạo số ngẫu nhiên
Sử dụng tạo số ngẫu nhiên là một phần quan trọng trong cấu hình và đánh giá của nhiều thuật toán số và học máy.
rng = np.random.default_rng() # cách đơn giản nhất để tạo số ngẫu nhiên
rng.random(3)
# array([0.63696169, 0.26978671, 0.04097352])Bạn có thể tạo một mảng 2 x 4 gồm các số nguyên ngẫu nhiên từ 0 đến 4 với:
rng.integers(5, size=(2, 4))
# array([[2, 1, 1, 0],
# [0, 0, 0, 4]])Cách lấy các phần tử duy nhất và số lượng
Bạn có thể tìm các phần tử duy nhất trong một mảng dễ dàng với np.unique.
a = np.array([11, 11, 12, 13, 14, 15, 16, 17, 12, 13, 11, 14, 18, 19, 20])
unique_values = np.unique(a)
# [11 12 13 14 15 16 17 18 19 20]Bạn cũng có thể lấy chỉ mục và số lần xuất hiện:
unique_values, indices_list = np.unique(a, return_index=True)
unique_values, occurrence_count = np.unique(a, return_counts=True)Chuyển vị và định hình lại (reshaping) ma trận
Việc chuyển vị ma trận là rất phổ biến. Mảng NumPy có thuộc tính T cho phép bạn chuyển vị một ma trận.
data.reshape(2, 3)
data.reshape(3, 2)Bạn cũng có thể sử dụng .transpose() hoặc .T để đảo ngược hoặc thay đổi các trục của một mảng.
arr = np.arange(6).reshape((2, 3))
arr.transpose()
arr.TCách lưu và tải các đối tượng NumPy
Bạn có thể lưu các mảng vào đĩa và tải chúng lại.
a = np.array([1, 2, 3, 4, 5, 6])
np.save('filename', a)
b = np.load('filename.npy')Bạn có thể lưu một mảng NumPy dưới dạng tệp văn bản thuần túy như tệp .csv hoặc .txt với np.savetxt.
csv_arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
np.savetxt('new_file.csv', csv_arr)
np.loadtxt('new_file.csv')Vẽ đồ thị mảng với Matplotlib
Nếu bạn cần tạo biểu đồ cho các giá trị của mình, điều đó rất đơn giản với Matplotlib.
import matplotlib.pyplot as plt
a = np.array([2, 1, 5, 7, 4, 6, 8, 14, 10, 9, 18, 20, 22])
plt.plot(a)
plt.show()
Python