Menu
Coddy logo textTech

데이터 정제 - 결측치

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()
challenge icon

챌린지

쉬움

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")
# 아래에 코드를 작성하세요

Pandas 데이터 분석의 모든 레슨