728x90
반응형
요구사항
1) 남성과 여성의 성별 인구 분포를 그래프로 도출하시오.
2) CSV 파일에서 인구와 성별 데이터를 읽어오세요.
3) matplotlib을 사용하여 인구수를 x축, 나이을 y축으로 하는 선 그래프를 그리세요.
4) 그래프 제목, x축 라벨, y축 라벨을 적절히 설정하세요.
예외 처리
1) 설명 : 파일 입출력 및 잘못된 입력에 대한 예외 처리
2) 사례 : 파일이 없을 경우, 잘못된 수량 입력
3) 핵심 : 안정적인 프로그램 동작 보장
import csv
f = open('gender1.csv')
data = csv.reader(f)
m = []
f = []
name = input('찾고 싶은 지역의 이름을 입력해주세요(예)목포시 : ')
administrative_uilding = input('찾고 싶은 지역의 행정동을 알려주세요(예)부흥동 : ')
for row in data :
if name in row[0] and administrative_uilding in row[0]:
for i in row[3:104]:
m.append(-int(i.replace(',','')))
for i in row[106:]:
f.append(int(i.replace(',','')))
break
import matplotlib.pyplot as plt
plt.style.use('ggplot')
plt.figure(figsize = (5, 2), dpi = 300)
plt.rc('font', family = 'Malgun Gothic')
plt.rcParams['axes.unicode_minus'] = False
plt.title(f"{name} {administrative_uilding} 지역의 남녀 성별 인구 분포")
plt.barh(range(101), m, color = "r", label = "남성")
plt.barh(range(101), f, color = "b", label = "여성")
plt.xlabel("인구수")
plt.ylabel("나이")
plt.legend()
plt.show()
728x90
반응형
'Project Jupyter' 카테고리의 다른 글
Project Jupyter(지하철 공공데이터)-2024-06-18 (0) | 2024.06.18 |
---|---|
Project Jupyter(지하철 공공데이터)-2024-06-17 (0) | 2024.06.17 |
Project Jupyter(기온 공공데이터)-2024-06-14 (0) | 2024.06.14 |
Project Jupyter(기온 공공데이터)-2024-06-14 (0) | 2024.06.14 |
Project Jupyter(기온 공공데이터)-2024-06-14 (0) | 2024.06.14 |