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

Thay thế NaN bằng 0 và điền giá trị cho vô cực âm trong Python

Ví dụ này minh họa việc sử dụng tham số neginf của numpy.nan_to_num() để chỉ định giá trị thay thế cho vô cực âm, trong khi NaN và vô cực dương dùng giá trị mặc định.

Các bước thực hiện

1. Nhập thư viện

import numpy as np

2. Tạo mảng chứa inf, -inf, NaN

arr = np.array([np.inf, -np.inf, np.nan, -128, 128])

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. Lấy hình dạng

print("\nHình dạng của đối tượng mảng...\n", arr.shape)

7. Thay thế neginf=22222

print("\nKết quả...\n", np.nan_to_num(arr, neginf=22222))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng chứa inf, -inf, NaN
arr = np.array([np.inf, -np.inf, np.nan, -128, 128])

# 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)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", arr.shape)

# Thay thế vô cực âm = 22222
print("\nKết quả...\n", np.nan_to_num(arr, neginf=22222))

Kết quả đầu ra

Mảng của chúng ta...
 [ inf -inf nan -128. 128.]
Số chiều của mảng...
 1
Kiểu dữ liệu của đối tượng mảng...
 float64
Hình dạng của đối tượng mảng...
 (5,)
Kết quả...
 [1.79769313e+308 2.22220000e+04 0.00000000e+00 -1.28000000e+02 1.28000000e+02]

Giải thích:

  • inf → giá trị mặc định lớn (~1.8e308)
  • -inf → 22222 (giá trị tùy chỉnh qua neginf)
  • nan → 0 (mặc định)
  • -128 và 128 → giữ nguyên