시작하기무료로 시작하기

NaN 값 대치(임퓨테이션)

이번에는 .transform() 메서드를 사용해 값을 대치해 보겠습니다. 이전 과제에서 bmi 관측치가 충분하지 않은 그룹을 제거한 DataFrame fheroes를 만들었죠. 하지만 bmi 열에는 누락값(NaN)이 많이 있습니다. fheroes DataFrame의 두 복사본(imp_globmean, imp_grpmean)이 주어졌을 때, bmi 열의 NaN을 전체 평균값으로, 그리고 PublisherAlignment 요인으로 정의한 그룹별 평균값으로 각각 대치하세요.

팁: pandas Series와 NumPy 배열에는 인자로 지정한 값으로 모든 NaN을 대체하는 전용 .fillna() 메서드가 있습니다.

이 연습은 강의의 일부입니다

Python으로 코딩 인터뷰 문제 연습하기

강의 보기

연습 안내

  • series의 평균으로 series 안의 NaN 값을 대치하는 람다 함수를 정의하세요.
  • imp_globmeanbmi 열에서 NaN을 전체 평균값으로 대치하세요.
  • imp_grpmeanbmi 열에서 NaN을 그룹별 평균값으로 대치하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define a lambda function that imputes NaN values in series
impute = lambda series: ____

# Impute NaNs in the bmi column of imp_globmean
imp_globmean['bmi'] = ____
print("Global mean = " + str(fheroes['bmi'].mean()) + "\n")

groups = imp_grpmean.groupby(['Publisher', 'Alignment'])

# Impute NaNs in the bmi column of imp_grpmean
imp_grpmean['bmi'] = groups[____].____
print(groups['bmi'].mean())
코드 편집 및 실행