2016-11-01 2 views
2

numpy 배열의 NaN을 99999와 같이 큰 숫자로 바꾸고 싶습니다. numpy.nan_to_num을 사용하여 NaN을 0으로 바꾸고 싶지 않습니다. NaN 값과 이미 데이터 집합에있는 0 값을 구별하고 싶습니다.숫자가 많은 배열의 Converntin NaN (예 : 99999)

+0

[일부 값보다 큰 파이썬 NumPy 배열의 모든 요소 대체] (http://stackoverflow.com/questions/19666626/replace-all-elements-of-python-numpy-array-that- ~보다 값이 큽니다. –

+0

당신은 그것을 사용할 수 있지만 부울 조건을'#isnan()'으로 바꿉니다. –

+0

[np.isnan (x) is True] = 9999는 저를 위해서만 작용합니다. ? [[9999, ....., 9999], [nan, ...., nan]을 반환합니다. –

답변

1

NaN을 모두 99999으로 바꾸려면 논리적 색인을 사용해야합니다. 이런 식으로 할 수 있습니다

x[np.isnan(x)] = 99999 

여러 차원에서 작동합니다.

관련 문제