Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 NaN을 0으로 바꾸고 음의 무한대 값 채우기

<시간/>

NaN을 0으로, 무한대를 큰 유한 숫자로 바꾸려면 Python에서 numpy.nan_to_num() 메서드를 사용하십시오. 이 메서드는 유한하지 않은 값이 대체된 x를 반환합니다. copy가 False이면 x 자체일 수 있습니다. 첫 번째 매개변수는 입력 데이터입니다. 두 번째 매개변수는 x의 복사본을 만들지(True) 아니면 값을 제자리에서 바꿀지(False) 여부에 관계없이 copy입니다. 내부 작업은 배열로 캐스팅할 때 복사본이 필요하지 않은 경우에만 발생합니다. 기본값은 True입니다.

세 번째 매개변수는 nan으로 NaN 값을 채우는 데 사용되는 값입니다. 값이 전달되지 않으면 NaN 값이 0.0으로 바뀝니다. 네 번째 매개변수 posinf는 양의 무한대 값을 채우는 데 사용할 값입니다. 값이 전달되지 않으면 양의 무한대 값이 로 바뀝니다. 다섯 번째 매개변수 neginf는 음의 무한대 값을 채우는 데 사용할 값입니다. 값이 전달되지 않으면 음수 무한대 값은 매우 작은(또는 음수) 숫자로 바뀝니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

import numpy as np

array() 메서드를 사용하여 numpy 배열 만들기 -

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

배열 표시 -

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

치수 확인 -

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

데이터 유형 가져오기 -

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

모양 가져오기 -

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

NaN을 0으로, 무한대를 큰 유한 숫자로 바꾸려면 numpy.nan_to_num() 메서드를 사용하십시오 -

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

예시

import numpy as np

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

# 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, neginf = 22222))

출력

Our Array...
[ inf -inf nan -128. 128.]

Dimensions of our Array...
1

Datatype of our Array object...
float64

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

Result...
[ 1.79769313e+308 2.22220000e+004 0.00000000e+000 -1.28000000e+002
1.28000000e+002]