your programing

숫자가 아닌 값을 포함하는 numpy.ndarray의 모든 행을 제거하는 방법

lovepro 2020. 10. 14. 08:17
반응형

숫자가 아닌 값을 포함하는 numpy.ndarray의 모든 행을 제거하는 방법


기본적으로 데이터 분석을하고 있습니다. 나는 데이터 세트에서 numpy.ndarray로 읽었고 일부 값이 누락되었습니다 (단지 존재하지 않거나 존재 NaN하거나 " NA"로 쓰여진 문자열이 됨 ).

이와 같은 항목을 포함하는 모든 행을 정리하고 싶습니다. numpy ndarray로 어떻게 할 수 있습니까?


>>> a = np.array([[1,2,3], [4,5,np.nan], [7,8,9]])
array([[  1.,   2.,   3.],
       [  4.,   5.,  nan],
       [  7.,   8.,   9.]])

>>> a[~np.isnan(a).any(axis=1)]
array([[ 1.,  2.,  3.],
       [ 7.,  8.,  9.]])

이를에 재 할당합니다 a.

설명 : np.isnan(a)와 비슷한 배열 반환 , 다른 곳에서. 전체 행에 대한 논리 연산 사용 하여 배열을 축소 하고 대괄호 안에 있는 원래 배열의 행만 반전 하고 선택합니다 .TrueNaNFalse.any(axis=1)m*nnor~True/Falsea[ ]True

참고 URL : https://stackoverflow.com/questions/11453141/how-to-remove-all-rows-in-a-numpy-ndarray-that-contain-non-numeric-values

반응형