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에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.