728x90
    
    
  반응형
    
    
    
  ▶ 결측값 제거(dropna)
- 기본 사용법
- DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
- axis : {0: index / 1: columns} 결측치 제거를 진행할 레이블
- how : {'any' : 존재하면 제거 / 'all' : 모두 결측치면 제거} 제거할 유형
- 포함만 시켜도 제거할지, 전부 NA여야 제거할지 정할 수 있음
- tresh : 결측값이 아닌 값이 몇 개 미만일 경우에만 적용시키는 인수
- 예를들어, tresh값이 3이라면 결측값이 아닌 값이 3개 미만일 경우에만 dropna 메서드 수행
- subset : dropna메서드를 수행할 레이블 지정
- inplace : 원본을 변경할지의 여부
- 예시
col  = ['col1','col2','col3','col4','col5']
row  = ['row1','row2','row3','row4']
data = [[1,2,3,pd.NA,5],[6,pd.NA,8,pd.NA,10],[11,12,13,14,15],[pd.NA,pd.NA,pd.NA,pd.NA,pd.NA]]
df = pd.DataFrame(data,row,col)
>>
      col1  col2  col3  col4  col5
row1     1     2     3  <NA>     5
row2     6  <NA>     8  <NA>    10
row3    11    12    13    14    15
row4  <NA>  <NA>  <NA>  <NA>  <NA>1. axis = 0 결측치 제거
- row 값이 NA인 행 모두 제거되고 row3값만 남음
print(df.dropna(axis=0))
>>
     col1 col2 col3 col4 col5
row3   11   12   13   14   152. how로 연산기준을 정할 경우
- how = 'any' 인 경우 한 값이라도 NA를 가진다면 해당 레이블은 제거
print(df.dropna(how='any'))
>>
     col1 col2 col3 col4 col5
row3   11   12   13   14   15- how = 'all' 할 경우 모든 값이 NA인 레이블만 제거
print(df.dropna(how='all'))
>>
     col1  col2 col3  col4 col5
row1    1     2    3  <NA>    5
row2    6  <NA>    8  <NA>   10
row3   11    12   13    14   153. subset 인수를 통한 레이블 지정
- subset에 리스트형태의 값을 입력하거나, 해당 컬럼명을 입력하여 결측치를 제거할 레이블을 지정 할 수 있다.
print(df.dropna(subset=['col1','col2']))
>>
     col1 col2 col3  col4 col5
row1    1    2    3  <NA>    5
row3   11   12   13    14   15<출처> 위키독스를 참고하여 작성
728x90
    
    
  반응형
    
    
    
  '인공지능, 데이터분석 > [Numpy, Pandas] EDA, 문법' 카테고리의 다른 글
| [Numpy] 집계함수 max(), sum().. (0) | 2023.05.11 | 
|---|---|
| [Numpy] 넘파이 자료형의 다양한 데이터 타입 (0) | 2023.05.11 | 
| [빅분기] T1-3. 결측치 처리, 결측치 비율확인(map, drop 활용) (0) | 2023.01.06 | 
| [빅분기] T1-2. 이상치를 찾아라(소수점 나이) (0) | 2023.01.02 | 
| [빅분기] T1-1. 이상치를 찾아라(IQR)활용하기 (0) | 2023.01.02 |