본문 바로가기
Project Jupyter

Project Jupyter(지하철 공공데이터)-2024-06-17

by 앵보몬 2024. 6. 17.
728x90
반응형

요구사항

1) 지하철의 인구 분포를 그래프로 도출하시오.

2) CSV 파일에서 유임승차, 유임하차, 무임승차, 무임하차의 데이터를 읽어오시오.

3) matplotlib을 사용하여 유임승차, 유임하차, 무임승차, 무임하차까지의 데이터를 파이차트 그래프로 그리세요.

4) 그래프 제목, 유임승차, 유임하차, 무임승차, 무임하차를 적절히 설정하세요.

 

예외 처리

1) 설명 : 파일 입출력 및 잘못된 입력에 대한 예외 처리

2) 사례 : 파일이 없을 경우, 잘못된 수량 입력

3) 핵심 : 안정적인 프로그램 동작 보장

 

import csv
import matplotlib.pyplot as plt
f = open('subwayfee.csv')
data = csv.reader(f)
next(data)

label = ['유임승차', '유임하자', '무임승차', '무임하차']
c = ['#14CCC0', '#389993', '#FF1C6A', '#CC14AF']
plt.rc('font', family = 'Malgun Gothic')
name = input('관심 있는 지하철 역을 입력하세요 : ')


for row in data:
    if name in row[3]:
        for i in range(4, 8):
            row[i] = int(row[i])
       
            plt.figure(dpi = 300)
            plt.title(row[3]+ ' ' + row[1])
            plt.pie(row[4:8], labels = label, colors = c, autopct='%.1f%%')
            plt.axis('equal')
            plt.savefig(row[3]+ ' '+row[1]+' .png')
            plt.legend(loc = 2)
            plt.show()

 

subwaytime.csv
0.16MB

728x90
반응형