궁금한 지역과 가장 유사한 인구 구조를 가진 지역
import numpy as np
import csv
# 1. 데이터 읽어오기
f = open('age.csv')
data = csv.reader(f)
next(data)
data = list(data)
# 2. 궁금한 지역의 이름 입력받기
name = input('인구 구조가 알고 싶은 지역의 이름(읍면동 단위) : ')
mn = 1
result_name = ''
result = 0
# 3. 궁금한 지역의 인구 구조 저장
for row in data:
for i in range(1,len(row)):
row[i] = row[i].replace(',','')
if name in row[0]:
home = np.array(row[3:], dtype=int) / int(row[2])
# 4. 궁금한 지역의 인구 구조와 가장 비슷한 인구 구조를 가진 지역 찾기
for row in data:
away = np.array(row[3:], dtype=int) / int(row[2])
s = np.sum((home - away)**2)
if s < mn and name not in row[0]:
mn = s
result_name = row[0]
result = away
# 5. 궁금한 지역의 인구 구조와 가장 비슷한 곳의 인구 구조를 시각화
plt.style.use('ggplot')
plt.figure(figsize=(10,5), dpi=300)
plt.rc('font', family = 'Malgun Gothic')
plt.title(name + '지역과 가장 비슷한 인구 구조를 가진 지역 : ')
plt.plot(home, label=name)
plt.plot(result, label=result_name)
plt.legend()
plt.show()
교재 : 모두의 데이터 분석 with 파이썬
pandas, numpy 를 사용하지 않고 for, if문 등을 통해 원하는 정보를 추출하는 연습을 끝내고 본격적으로 pandas, numpy라이브러리를 사용해 데이터 전처리 및 시각화 작업을 시작하였다. 기본 함수 위주로 데이터 분석을 진행하니 라이브러리의 편리함과 원리를 깨닫게 되었다. 오늘 부터는 배운 내용을 토대로 원하는 공공데이터를 다뤄보는 미니프로젝트를 진행하게 된다. 수업 이래로 처음하는 미니프로젝트이기 때문에 간단한 정보추출과 시각화로 프로젝트를 진행하겠지만 시작이 반이라고 간단하지만 의미있는 프로젝트가 될 수 있도록 노력해야겠다.
'Journal' 카테고리의 다른 글
빅데이터 분석가 양성과정 27일차 (0) | 2022.08.08 |
---|---|
빅데이터 분석가 양성과정 26일차 (0) | 2022.08.05 |
빅데이터 분석가 양성과정 24일차 (0) | 2022.08.03 |
빅데이터 분석가 양성과정 23일차 (0) | 2022.08.02 |
빅데이터 분석가 양성과정 22일차 (0) | 2022.08.01 |