데이터 정제 - 결측치
Coddy의 Pandas 데이터 분석 코스 레슨 — 19개 중 6번째.
보통 CSV 파일에는 누락된 데이터, 잘못된 열 이름, 중복, 잘못된 값 및 잘못된 데이터 유형이 포함되어 있습니다. Pandas 모듈에는 이러한 문제를 처리할 수 있는 모든 도구가 있습니다.
누락된 데이터
값이 누락되었는지 여부를 확인하려면:
df.isna()각 열에 누락된 값이 몇 개인지 확인하려면:
df.isna().sum()isna() 함수는 모든 값을 true 또는 false(누락 여부)로 변환한 다음 적용합니다. sum()은 true를 1로, false를 0으로 처리합니다.
열과 해당 열의 누락된 값의 개수를 반복하려면 딕셔너리와 마찬가지로 items() 메서드를 사용하세요(Pandas 시리즈 객체이지만):
for column, missing_num in df.isna().sum().items():
print(column, missing_num)전체 데이터프레임에 대해 누락된 값을 모두 채우려면 fillna() 메서드를 사용하세요:
df = df.fillna("some value")특정 열에 대해서만 누락된 값을 채우려면 해당 열에 fillna() 함수를 사용하세요:
df["some_column"] = df["some_column"].fillna("some value")누락된 값이 있는 모든 행을 제거하는 옵션도 있습니다:
df = df.dropna()챌린지
쉬움CSV 파일 missing.csv가 정리가 되어 있지 않습니다.
파일의 처음 5줄은 다음과 같습니다:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0데이터를 정제하세요:
- 결측치(missing values)가
2개보다 많은 모든 열(columns)의 결측치를Missing이라는 값으로 채우세요. - 결측치가 있는 나머지 행들을 모두 제거하세요.
진행 상황을 확인하려면 df를 출력해 보세요: print(df)
최종 결과를 df 변수에 저장하세요.
테스트 케이스를 통과하려면 df를 출력하지 마세요!
직접 해보기
# pandas as pd가 이미 임포트되었습니다
df = pd.read_csv("./missing.csv")
# 아래에 코드를 작성하세요