Để tìm giá trị nhỏ nhất của mảng bỏ qua NaN, sử dụng numpy.nanmin(). Phương thức này xử lý đúng các giá trị vô cực âm (-inf).
Tham số của numpy.nanmin()
- a: Mảng đầu vào.
- axis: Trục tính toán (mặc định None - toàn mảng).
- out: Mảng đầu ra thay thế.
- keepdims: Giữ chiều bị thu nhỏ (mặc định False).
- initial: Giá trị tối đa của phần tử đầu ra (cho slice rỗng).
Các bước thực hiện
1. Nhập thư viện
import numpy as np
2. Tạo mảng 2D chứa NaN và -inf
arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])
3. Hiển thị mảng
print("Mảng của chúng ta...\n", arr)
4. Kiểm tra số chiều
print("\nSố chiều của mảng...\n", arr.ndim)
5. Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
6. Tìm giá trị nhỏ nhất toàn mảng (bỏ qua NaN)
print("\nKết quả (nanmin)...\n", np.nanmin(arr))
Ví dụ hoàn chỉnh
import numpy as np
arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nKết quả (nanmin)...\n", np.nanmin(arr))
Kết quả đầu ra
Mảng của chúng ta...
[[ 25. 50. 75.]
[ 90. nan -inf]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
float64
Kết quả (nanmin)...
-inf
Giải thích: nanmin() bỏ qua NaN nhưng không bỏ qua vô cực âm. Vì mảng chứa -inf, kết quả là -inf. Đây khác với nanmax() nơi vô cực dương là giá trị lớn nhất.