간단한 .apply() 활용
.apply()를 직접 써 보면서 손에 익혀 볼까요?
학생들의 성취도와 배경 정보를 담은 전체 scores 데이터셋이 제공됩니다.
여러분의 작업은 prevalence() 함수를 정의하고 이를 scores DataFrame의 groups_to_consider 열들에 적용하는 것입니다. 이 함수는 주어진 열에서 가장 많이 나타나는 그룹/범주를 찾아 반환해야 합니다(예: lunch 열에서 가장 흔한 범주가 standard라면, prevalence()는 standard를 반환해야 합니다).
functools 모듈의 reduce() 함수는 이미 임포트되어 있습니다.
팁: pd.Series는 이터러블(Iterable) 객체이므로, 표준 연산을 그대로 사용할 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 코딩 인터뷰 문제 연습하기
연습 안내
- 전달된 객체
series에서 고유 항목과 그 개수로 이뤄진 튜플 리스트를 만드세요. reduce()를 사용해 가장 큰 개수를 가진 튜플을 추출하세요.- 가장 개수가 많은 항목을 반환하세요.
groups_to_consider에 지정된 열들을 사용해scoresDataFrame에 prevalence 함수를 적용하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def prevalence(series):
vals = list(series)
# Create a tuple list with unique items and their counts
itms = [(____, ____) for x in set(____)]
# Extract a tuple with the highest counts using reduce()
res = reduce(lambda x, y: ____, ____)
# Return the item with the highest counts
return ____[____]
# Apply the prevalence function on the scores DataFrame
result = scores[groups_to_consider].____
print(result)