반응형
결측치를 다루는 방법은 다양하다.
평균 대치법에도 여러가지 종류가 있고,
생각보다 복잡한 방법들(다른 변수들과의 관계를 고려하는 것 등)이 있다.
하지만 그 중에서도 가장 기초가 되는 평균값 대치, 앞뒤값 배치, 제거 를 알아보자.
1. 평균값 대치
df['income'].fillna(df['income'].mean(), inplace=True)
2. 앞 뒷값으로 배치
fillna의 method = 'bfill', 'ffill' 를 이용한다.
df['income'].fillna(method='bfill') # 인덱스 뒤에 있는 데이터로 채우기 (behind)
df['income'].fillna(method='ffill') # 인덱스 앞에 있는 데이터로 채우기 (front)
보통은 아래 코드를 사용한다. 맨 앞 뒤값이 채워지지 않을 수도 있기 때문이다.
df['income'].fillna(method='bfill').fillna(method='ffill')
3. 제거하기
유추하기 어렵거나 채워넣을 수 있는 값이 없으면 제거해버린다.
df.dropna() # 행을 날림
df.dropna(inplace=True) # 데이터에 적용까지 완료
df.dropna(axis=1) # 열 자체를 날림
만약, 원하는 행에 대해서만 적용하고 싶다면, subset 옵션을 추가한다.
df.dropna(subset=['name', 'toy'])
Reference :
- https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html
반응형
'Skills > Python' 카테고리의 다른 글
[Python] 시각화 패키지 (0) | 2021.11.05 |
---|---|
[Python] 파이썬에서 sql데이터 불러오기 (0) | 2021.11.04 |
[Python] loc보다 빠른 탐색이 가능한 at (0) | 2021.11.04 |
[Python] 최댓값에 해당되는 인덱스 찾기 (0) | 2021.11.04 |
[Python] 빠른 행/열 추출 take() 메소드 (0) | 2021.11.04 |