Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Trả về giá trị lớn nhất của mảng theo trục 0 hoặc bỏ qua NaN trong Python

Để tìm giá trị lớn nhất của mảng theo một trục cụ thể hoặc tìm giá trị lớn nhất bỏ qua các giá trị NaN, chúng ta sử dụng phương thức numpy.nanmax() trong Python. Phương thức này bỏ qua các giá trị NaN (Not a Number) khi tính toán.

Tham số chính của numpy.nanmax()

  • a: Mảng đầu vào chứa các số cần tìm giá trị lớn nhất. Nếu không phải mảng, sẽ cố gắng chuyển đổi.
  • axis: Trục hoặc các trục沿 theo đó tính toán giá trị lớn nhất. Mặc định là None (tính trên mảng phẳng).
  • out: Mảng đầu ra thay thế để lưu kết quả. Mặc định là None.
  • keepdims: Nếu True, các trục bị thu nhỏ sẽ được giữ lại với kích thước 1 để dễ dàng broadcasting. Mặc định là False.
  • initial: Giá trị tối thiểu của phần tử đầu ra. Cần thiết để tính toán trên 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

arr = np.array([[10, 20, 30], [40, np.nan, 60]])

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ị lớn nhất theo trục 0 (theo cột), bỏ qua NaN

print("\nKết quả (nanmax theo trục 0)...\n", np.nanmax(arr, axis=0))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng 2D với NaN
arr = np.array([[10, 20, 30], [40, np.nan, 60]])

# Hiển thị mảng
print("Mảng của chúng ta...\n", arr)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", arr.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)

# Tìm max theo trục 0, bỏ qua NaN
print("\nKết quả (nanmax theo trục 0)...\n", np.nanmax(arr, axis=0))

Kết quả đầu ra

Mảng của chúng ta...
 [[10. 20. 30.]
 [40. nan 60.]]
Số chiều của mảng...
 2
Kiểu dữ liệu của đối tượng mảng...
 float64
Kết quả (nanmax theo trục 0)...
 [40. 20. 60.]

Giải thích: Theo trục 0 (cột):

  • Cột 0: max(10, 40) = 40
  • Cột 1: max(20, NaN) = 20 (NaN bị bỏ qua)
  • Cột 2: max(30, 60) = 60