하위 목표 2
핫플레이스가 있는 행정동의 주중/주말 시간대별 평균인구 그래프를 그려 분석하기
알고리즘
1. 주중 시간대별 생활인구를 저장할 리스트(weekday)와 주말 시간대별 생활인구를 저장할 리스트(weekend)를 길이 24로 만들고 초깃값 0 저장하기
2. 인구 데이터(data)의 첫 행부터 마지막 행까지 돌며 반복하기
2.1 사용자가 입력한 행정동의 행정동코드(dong_code)와 인구 데이터(data)의 행정동코드(열 인덱스 [2])가 같다면
2.1.1 해당 행의 시간대(time)와 총생활인구수(p), 기준일ID의 연도(year), 월(mon), 일(day)을 각각 변수에 저장하기
2.1.2 과정 2.1.1에서 저장한 연도(year), 월(mon), 일(day)을 datetime.date().weekday()에 넣어 주중/주말 구분하기
2.1.3 주중이면 주중 리스트(weekday[time])에 총생활인구수(p), 주말이면 주말 리스트(weekend[time])에 총생활인구수(p) 더하기
3. 반복이 끝나면 2019년 12월의 주중 일수(weekday_cnt)와 주말 일수(weekend_cnt)를 저장할 변수를 만들고 초깃값 0 저장하기
4. 2019년 12월의 일수만큼 반복하기
4.1 주중이면 주중 일수(weekday_cnt)에 1, 주말이면 주말 일수(weekend_cnt)에 1 더하기
5. 주중 리스트(weekday)의 각 요소를 주중 일수(weekday_cnt)로, 주말 리스트(weekend)의 각 요소를 주말 일수(weekend_cnt)로 나누어 주중/주말 평균인구 구하기
6. 완성된 weekday와 weekend 리스트로 주중/주말 시간대별 평균인구 그래프 그리기
하위 목표 1의 알고리즘과 비교했을 때 과정 2가 가장 크게 변했네요. 과정 2.1.1에서 구한 연도, 월, 일을 활용해 각 행이 주중인지 주말인지를 판단하고, 주중이면 주중 리스트, 주말이면 주말 리스트에 총생활인구수를 더합니다. 과정 3에서는 2019년 12월의 주중 일수와 주말 일수를 반복문으로 구합니다. 그리고 과정 4에서 오차가 생기지 않게 주중 일수와 주말 일수로 정확히 나눕니다.