결측값이 있는 행이나 열을 삭제하고자 하는 경우에는, dropna() 함수를 사용하면 된다.
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
Parameter | 설명 |
axis | 0 또는 'index'로 하면, 행에 대한 제거 (디폴트) 1 또는 'columns'로 하면, 열에 대한 제거 |
how | 'any'는 행 혹은 열 방향으로 결측값이 하나라도 있으면 제거 (디폴트) 'all'은 모든 값이 결측값이면 제거 |
thresh | 최소 n개가 결측값이 아니면 그 행(또는 열)을 제거하지 않음 예를들어 thresh = 4로 지정하면 그 행(또는 열)에 최소한 4개의 값은 결측값이 아닌 경우를 제외하고 나머지는 다 제거 |
subset | 특정 열을 지정 |
inplace | True면 데이터프레임에 바로 적용, 디폴트는 False |
활용 예시
import pandas as pd
import numpy as np
# 딕셔너리를 이용한 Data Frame의 초기화
test_data = {'FirstName' : ['So-yeon', 'John', 'Yuna'],
'LastName' : ['Park', 'Smith', 'Kim'],
'Score' : [100, np.nan, 85],
'Born' : [pd.Timestamp('2001-08-15'), pd.Timestamp('2001-03-27'), pd.NaT],
'Address' : ['Seoul', np.nan, 'Incheon']}
df = pd.DataFrame(test_data)
df
df.dropna()만 하면 결측값이 있는 행은 다 삭제된다.
df.dropna()
df.dropna(how = 'all')로 하면 행의 모든 값이 결측값이 행만 제거한다. 해당 예시에서는 아무 행도 지워지지 않는다.
df.dropna(how = 'all')
df.dropna(thresh = 4)를 쓰면 각 행에 최소한 4개의 값은 결측값이 아닌 경우를 제외하고 나머지 행은 다 제거한다.
df.dropna(thresh = 4)
df.dropna(subset=['Born', 'Address'])를 쓰면 해당 열에 결측값이 있는 행은 제거한다.
df.dropna(subset=['Born', 'Address'])
'[Python] 연습' 카테고리의 다른 글
[Python] 지역변수, 전역변수, 클로저(Closure) (0) | 2022.05.28 |
---|---|
[Python] 클래스와 상속 (0) | 2022.05.27 |
[Python] Series (0) | 2022.03.26 |
[Python] 데이터 정규화 (0) | 2022.03.25 |
[Python] 판다스 특정 문자열 포함 판단하기 (0) | 2022.03.12 |