python 에서 nan 과 inf 를 특정 숫자 로 변환 하 는 방법 예시

1086 단어 pythoninfnan
머리말
최근 에 업무 의 수요 로 인해 두 행렬 의 점 제 를 처리 하고 결 과 를 얻 은 후에 다른 계산 을 한 결과 내 장 된 함수 가 work 하지 않 는 것 을 발견 했다.얻 은 데 이 터 를 보면 nan 과 inf 가 많아 서 Python 의 기본 함수 가 실행 되 지 못 하 는 것 을 발견 하 였 습 니 다.이것 은 제거 과정 에서 분모 가 0 이 나타 나 기 때 문 입 니 다.결 과 를 python 의 다른 함수 로 처리 하기 위해 서 는 특히 numpy 라 이브 러 리 는 nan,inf 를 python 이 식별 할 수 있 는 형식 으로 바 꿔 야 합 니 다.
여기 서 nan,inf 를 0 으로 교체 합 니 다.다음은 상세 한 소 개 를 살 펴 보 겠 습 니 다.
1.코드

import numpy as np 
a = np.array([[np.nan, np.nan, 1, 2], [np.inf, np.inf, 3, 4], [1, 1, 1, 1], [2, 2, 2, 2]]) 
print a 
where_are_nan = np.isnan(a) 
where_are_inf = np.isinf(a) 
a[where_are_nan] = 0 
a[where_are_inf] = 0 
print a 
print np.mean(a) 
2.실행 결과

[[ nan nan 1. 2.] 
 [ inf inf 3. 4.] 
 [ 1. 1. 1. 1.] 
 [ 2. 2. 2. 2.]] 
[[ 0. 0. 1. 2.] 
 [ 0. 0. 3. 4.] 
 [ 1. 1. 1. 1.] 
 [ 2. 2. 2. 2.]] 
1.375 
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기