[코드잇] 데이터클리닝 attendance.csv
완결성 (Completeness): 필수적인 데이터는 모두 기록되어 있어야함, 결측값이 처리
df = pd.read_csv('data/attendance.csv', index_col=0)
df
isnull() : 결측값을 True로 반환
결측값이 있는 위치 찾기
결측값이 있는 위치만 True반환
df.isnull()
결측값의 개수 세기
df.isnull().sum()
배구 컬럼에만 결측값이 3개가 있음을 알 수 있다.
결측값 해결방법
1. 그대로 두기
2. 결측값 레코드 지우기 dropna()
결측값 레코드 지우기
df.dropna()
배구에 결측값이 사라졌다.
결측값을 없앤 데이터프레임을 기존의 데이터에 덮어씌우려면 inplace=True를 작성해줘야 한다.
df.dropna(inplace=True)
df
기존데이터에서 2010, 2012, 2013년 데이터가 완전히 사라졌음을 알 수있다.
결측값이 많은 컬럼의 데이터만 포기하기
df = pd.read_csv('data/attendance.csv', index_col=0)
df
결측값이 있는 배구컬럼을 삭제한다.
기본값은 axis=0 이다.
axis=0(index)
- 행 방향 기준
axis=1(columns)
-열 방향 기준
둘 다 같은 결과 출력
df.dropna(axis=1)
df.dropna(axis='columns')
배구 컬럼이 제거되었다.
현재 가진 데이터를 보존하기 : 결측값 대체하기
1. df.fillna(0) : 0으로 채우기
2. df.fillna(df.mean()) : 평균으로 채우기
3. df.fillna(df.median()) : 중앙값으로 채우기
★기존 데이터를 변경하려면 inplace=True
결측값을 0으로 채우기
df.fillna(0)
결측값을 평균으로 채우기
df.fillna(df.mean())
결측값을 중앙값으로 채우기
df.fillna(df.median())
'데이터 분석 > Data_cleansing' 카테고리의 다른 글
데이터 클리닝(정확성) (0) | 2024.06.04 |
---|---|
데이터 클리닝(유일성) (0) | 2024.06.04 |
데이터 정제 (0) | 2024.06.04 |