Numpy 배열에서 nan 값을 제거하는 방법(3가지 방법)


다음 방법을 사용하여 NumPy 배열에서 NaN 값을 제거할 수 있습니다.

방법 1: isnan() 사용

 new_data = data[~np. isnan (data)]

방법 2: isfinite() 사용

 new_data = data[np. isfinite (data)]

방법 3: logic_not() 사용

 new_data = data[np. logical_not (np. isnan (data))]

각 방법은 동일한 결과를 생성하지만 첫 번째 방법은 입력 시간이 가장 짧기 때문에 가장 자주 사용되는 경향이 있습니다.

다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.

예시 1: isnan()을 사용하여 NaN 값 제거

다음 코드는 isnan() 함수를 사용하여 NumPy 배열에서 NaN 값을 제거하는 방법을 보여줍니다.

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[~np. isnan (data)]

#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

두 NaN 값이 모두 NumPy 배열에서 성공적으로 제거되었습니다.

이 방법은 단순히 (~)NaN 값이 아닌 모든 배열 요소를 유지합니다.

예시 2: isfinite()를 사용하여 NaN 값 제거

다음 코드는 isfinite() 함수를 사용하여 NumPy 배열에서 NaN 값을 제거하는 방법을 보여줍니다.

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[np. isfinite (data)]

#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

두 NaN 값이 모두 NumPy 배열에서 성공적으로 제거되었습니다.

이 방법은 단순히 유한 값인 모든 배열 요소를 유지합니다.

NaN 값은 유한하지 않으므로 테이블에서 제거됩니다.

예시 3: logic_not()을 사용하여 NaN 값 제거

다음 코드는 logic_not() 함수를 사용하여 NumPy 배열에서 NaN 값을 제거하는 방법을 보여줍니다.

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

두 NaN 값이 모두 NumPy 배열에서 성공적으로 제거되었습니다.

이 방법은 이전 두 방법과 동일하지만 더 많은 입력이 필요하므로 자주 사용되지 않습니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: 빈 문자열을 NaN으로 바꾸는 방법
Pandas: NaN 값을 문자열로 바꾸는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다