8월의 최고 기온 데이터를 표현한 상자 그림과 1월의 최고 기온 데이터를 표현한 상자 그림이 분리되어 표현되었네요. 이 그래프를 보니 최고 기온 데이터를 월별로 구분하여 표현해 보고 싶지 않나요?
이 문제를 해결하기 위한 과정을 2단계로 나누어 생각해봅시다.
1 | 데이터를 월별로 분류해 저장한다.
2 | 월별 데이터를 상자 그림으로 그린다.
그렇다면 데이터를 월별로 어떻게 분류할 수 있을까요?
한번 생각해 보고, 여러분의 생각과 다음 코드를 비교하세요.
import matplotlib.pyplot as plt import csv f = open('seoul.csv') data = csv.reader(f) next(data) # 월별 데이터를 저장할 리스트 month 생성(12개) month = [[],[],[],[],[],[],[],[],[],[],[],[]] for row in data : if row[-1] != '' : # 월과 같은 번호의 인덱스에 월별 데이터 저장(예:1월→month[0] ) month[int(row[0].split('-')[1])-1].append(float(row[-1])) plt.boxplot(month) plt.show()