유니버셜 함수인 isnan()은 결측치를 찾는 훌륭한 도구다. 다음 예제에서 결측치를 0으로 바꾸는 것은 별로 좋은 생각이 아니지만, ‘UNIT 23. 인덱싱과 자르기’에서도 한 적이 있으니 한 번 더 해보자.
# 새 MMM 주식 가격이 결측치라고 가정해 보자.
stocks[1, 0] = np.nan
np.isnan(stocks)
>>>
array([[False, False, False, False, False, False, False, False],
[ True, False, False, False, False, False, False, False]],
dtype=bool)
# 결측치를 수정해 보자. 이보다 더 나쁠 수는 없다.
stocks[np.isnan(stocks)] = 0
stocks
>>>
array([[ 140.49, 40.68, 55.7 , 98.2 , 109.96, 35.71, 87.85,
30.22],
[ 0. , 41.53, 57.21, 99.19, 111.47, 36.27, 89.11,
30.91]])
유니버셜 함수는 파이썬의 사칙 연산과 관계형 연산자의 가능성을 넓힌다. 조건부 함수는 강력한 파이썬의 논리 연산자다.