math, numpy, pandas NaN 판단 및 제거

1444 단어 python

 
전환 하 다https://blog.csdn.net/lanchunhui/article/details/80399681
>> np.nan == np.nan
False
>> np.nan is np.nan
True

>> math.nan is np.nan
False
>> np.isnan(math.nan)
True

1. ndarray 에 nan 이 있 는 지 판단 하기
>> c = np.array([ 1.,  2., np.nan,  3.,  4.])
>> np.isnan(c)
array([False, False,  True, False, False])

#   
>> np.nan != np.nan
True

>> np.nan in c
False

상술 한 방안 은 하나의 서열 로 되 돌아 가 거나 잘못된 결 과 를 내 놓 았 다.numpy 의 다 차원 배열 에 nan 이 존재 하 는 지 여 부 를 판단 하 는 간단 한 방식:
>> np.isnan(np.min(c))
True
>> np.isnan(np.sum(c))
True

#   
>> np.min(c)
nan
>> np.sum(c)
nan

2. nan 을 평균 값 으로 채 웁 니 다.
>> c = np.array([ 1.,  2., np.nan,  3.,  4.])
>> c[np.isnan(c)] = np.mean(c[~np.nan(c)])

 
NaN 을 숫자 로 바 꾸 거나 지우 기 > > a (isnan (a) = [] a = 2   3     3     5 다음은 몇 가지 방법 입 니 다. 주: 하나의 값 이 NaN 인지 판단 하려 면 isnan () 만 사용 할 수 있 고 x = = NaN 을 사용 할 수 없습니다.  (1)i = find( ~ isnan(x));
x = x(i) 우선 값 이 NaN 이 아 닌 항목 의 아래 표 시 를 찾 아 이 요 소 를 보존 합 니 다.
 
(2)x = x(find( ~ isnan(x))) 위 와 같이 NaN 을 제거 합 니 다.
 
(3)x = x( ~ isnan(x)); 더 빠 른 방법
 
(4)x(isnan(x)) = []; NaN 을 제거 합 니 다.
 
(5)x(any(isnan(X)’),:) = []; NaN 이 함 유 된 줄 을 모두 삭제 합 니 다. 예 를 들 어:
>>a=[2 3 nan 3 5 nan]
a(isnan(a))
 

좋은 웹페이지 즐겨찾기