Computer >> Máy Tính >  >> Lập trình >> Python

Thay thế NaN bằng 0 và vô cùng bằng số hữu hạn lớn cho các giá trị đầu vào phức tạp trong Python

Để thay thế NaN bằng 0 và vô cùng bằng các số hữu hạn lớn, hãy sử dụng phương thức numpy.nan_to_num () trong Python. Phương thức trả về, x, với các giá trị không hữu hạn được thay thế. Nếu bản sao là Sai, bản sao này có thể là x chính nó. Tham số đầu tiên là dữ liệu đầu vào. Tham số thứ 2 là bản sao, để tạo bản sao của x (Đúng) hoặc để thay thế các giá trị tại chỗ (Sai). Hoạt động tại chỗ chỉ xảy ra nếu ép kiểu toàn mảng không yêu cầu bản sao. Mặc định là True.

Tham số thứ 3 là nan, giá trị được sử dụng để điền các giá trị NaN. Nếu không có giá trị nào được chuyển thì NaNvalues ​​sẽ được thay thế bằng 0,0. Tham số thứ 4, posinf, một giá trị được sử dụng để điền vào các giá trị vô cực dương. Nếu không có giá trị nào được chuyển thì các giá trị vô cực dương sẽ được thay thế bằng a. Tham số thứ 5, neginfint, một giá trị được sử dụng để điền vào các giá trị vô cực âm. Nếu không có giá trị nào được chuyển thì các giá trị vô cực âm sẽ được thay thế bằng một số rất nhỏ (hoặc âm).

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import numpy as np

Tạo một mảng numpy bằng phương thức array () -

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

Hiển thị mảng -

print("Our Array...\n",arr)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",arr.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",arr.dtype)

Lấy hình dạng -

print("\nShape of our Array object...\n",arr.shape)

Để thay thế NaN bằng 0 và vô cùng bằng các số hữu hạn lớn, hãy sử dụng phương thức numpy.nan_to_num () trong Python. Phương thức trả về, x, với các giá trị không hữu hạn được thay thế. Nếu bản sao là Sai, bản sao có thể là x -

print("\nResult...\n",np.nan_to_num(arr))

Ví dụ

import numpy as np

# Creating a numpy array using the array() method
arr = np.array([complex(np.inf, np.nan), np.nan])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array object...\n",arr.shape)

# To replace NaN with zero and infinity with large finite numbers, use the numpy.nan_to_num() method in Python
print("\nResult...\n",np.nan_to_num(arr))

Đầu ra

Our Array...
[inf+nanj nan +0.j]

Dimensions of our Array...
1

Datatype of our Array object...
complex128

Shape of our Array object...
(2,)

Result...
[1.79769313e+308+0.j 0.00000000e+000+0.j]