분포에서 값 강조하기
더 좋은 시각화를 위해 데이터를 가공해야 할 때가 있습니다. 결측값 처리를 위한 두 가지 메서드는 .dropna()와 .fillna()예요. 또한 특정 열에 .quantile()을 적용해 조건을 걸면, 특정 백분위수 기준을 넘거나 미달하는 값들을 필터링해 이상치를 제거할 수도 있습니다.
동영상에서 보셨듯이, 그래프에서 특정 값을 강조하려면 축 전체에 걸쳐 위치 x에 수직선을 추가할 수 있습니다:
Axes.axvline(x=0, color=None, ...)
이번 연습에서는 전 세계 소득 분포를 마지막으로 살펴본 뒤, 95번째 백분위수보다 큰 이상치를 제거하고 분포를 그린 다음, 평균과 중앙값을 모두 강조해 보겠습니다. pandas는 pd, seaborn은 sns, matplotlib.pyplot은 plt로 이미 임포트되어 있으며, 이전 연습에서 사용한 income DataFrame이 작업 공간에 준비되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 금융 데이터 가져오기와 관리
연습 안내
- 열
'Income per Capita'를inc_per_capita에 할당하세요. - 95번째 백분위수보다 낮은 행만 남기도록 필터링하고, 같은 변수에 다시 할당하세요.
- 필터링된
inc_per_capita로 기본 히스토그램을 그리고, 반환값을ax에 할당하세요. ax.axvline()에color='b'를 사용해 평균을 파란색으로 강조하세요.ax.axvline()에color='g'를 사용해 중앙값을 초록색으로 강조하세요. 결과를 표시하세요!
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create inc_per_capita
inc_per_capita = ____
# Filter out incomes above the 95th percentile
inc_per_capita = inc_per_capita[____ < ____]
# Plot histogram and assign to ax
ax = ____
# Highlight mean
ax.axvline(inc_per_capita.mean(), color='b')
# Highlight median
ax.axvline(inc_per_capita.median(), color='g')
# Show the plot
plt.show()