시작하기무료로 시작하기

통근 수단별 이동 시간 히트맵

이 연습 문제에서는 통근 시간(분)과 이동 수단을 비교하는 전국 단위 데이터의 히트맵을 만듭니다. 시작 시점에는 JSON API 응답 객체의 단일 데이터 행에서 추출한 값 목록 data_row가 주어집니다. 이동 modes(5)와 통근 times(9) 목록이 생성되어 콘솔에 출력되어 있습니다. 단일 데이터 행을 리스트의 리스트 형태로 재구성하고, sns.heatmap에 전달할 수 있는 DataFrame을 만든 뒤, 히트맵을 생성해야 합니다.

데이터 행에는 5가지 이동 수단에 대한 데이터가 있으며, 각 수단마다 9개의 통근 시간이 한 묶음으로 제공됩니다. 한 번의 반복(iteration)은 통근 시간 세트 전체를 의미합니다.

pandasseaborn은 일반적으로 사용하는 별칭으로 로드되어 있습니다.

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

Python으로 미국 인구조사 데이터 분석하기

강의 보기

연습 안내

  • iter_lentimes 목록의 길이로 설정하세요.
  • 리스트 컴프리헨션에서 시작값 0, 종료값은 data_row의 길이, 간격은 iter_len인 범위를 생성하세요.
  • 첫 번째 인수로 commuting DataFrame을 사용해 히트맵을 만들고, 통근자 수를 천 단위로 주석(annotate)으로 표시하세요(정수 나눗셈으로 1000으로 나누세요).

실습형 인터랙티브 연습

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

# Set iter_len to the number of commute times
iter_len = ____

# Break row into list of lists by travel mode
data = [data_row[i:i+iter_len] for i in range(____)]

# Create DataFrame, set data type to int
commuting = pd.DataFrame(data=data, index=modes, columns=times)
commuting = commuting.astype(int)

# Create heatmap of commuters by mode by income
sns.heatmap(____, annot=____, fmt = "d", cmap="YlGnBu")
plt.xticks(rotation = 50)
plt.yticks(rotation = 50)
plt.show()
코드 편집 및 실행