ICT이노베이션스퀘어 AI기본과정(CNU) 교육을 듣고 정리한 내용입니다.
AI기본과정(CNU) 교육 자료를 참고하였습니다.
인구 공공데이터
인구 구조 시각화
1. 인구 구조 시각화
우리 동네의 인구 데이터 출력
import csv
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
for row in population:
if "혜화동" in row[0]:
print(row)
우리 동네의 연령별 인구 수 출력
import csv
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
for row in population:
if "혜화동" in row[0]:
for i in row[3:]:
print(i)
우리 동네의 연령별 인구 수를 리스트에 저장
import csv
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
hyehwa = []
for row in population:
if "혜화동" in row[0]:
for i in row[3:]:
hyehwa.append(int(i)) # 문자 데이터를 정수로 변환하여 hyehwa 리스트에 추가
print(hyehwa)
우리 동네의 연령별 인구 수 데이터 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
hyehwa = []
for row in population:
if "혜화동" in row[0]:
for i in row[3:]:
hyehwa.append(int(i))
plt.style.use("ggplot") # 격자무늬 스타일 지정
plt.plot(hyehwa)
plt.show()
지역명을 입력받아서 연령별 인구 수 데이터 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
region = input("지역명(읍면동 단위)을 입력하세요:")
result = []
for row in population:
if region in row[0]:
for i in row[3:]:
result.append(int(i))
plt.style.use("ggplot")
plt.plot(result)
plt.show()
인구 구조의 다양한 시각화
1. 막대그래프
bar(막대를 표시할 위치, 막대의 높이)
import matplotlib.pyplot as plt
plt.bar([0,3,7,9,15], [3,4,5,8,2])
plt.show()
막대그래프를 활용한 우리 동네 인구 구조 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
hyehwa = []
for row in population:
if "혜화동" in row[0]:
for i in row[3:]:
hyehwa.append(int(i))
plt.bar(range(101), hyehwa)
plt.show()
수평 막대그래프를 활용한 우리 동네 인구 구조 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/age.csv')
population = csv.reader(f)
hyehwa = []
for row in population:
if "혜화동" in row[0]:
for i in row[3:]:
hyehwa.append(int(i))
plt.barh(range(101), hyehwa)
plt.show()
2. 항아리 모양 그래프
성별 데이터 저장하기
남성 데이터 : 3 ~ 103번 인덱스 데이터를 순차적으로 저장
여성 데이터 : -1 ~ -101번 인덱스 데이터를 순차적으로 저장한 후 뒤집기
import csv
f = open('C:/Users/82109/OneDrive/바탕 화면/gender.csv')
gender = csv.reader(f)
male = []
female = []
for row in gender:
if "한남동" in row[0]:
for i in range(0,101):
male.append(int(row[i+3]))
female.append(int(row[-(i+1)]))
female.reverse()
성별 데이터를 수평 막대그래프로 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/gender.csv')
gender = csv.reader(f)
male = []
female = []
for row in gender:
if "한남동" in row[0]:
for i in range(0,101):
male.append(int(row[i+3]))
female.append(int(row[-(i+1)]))
female.reverse()
plt.barh(range(101), male)
plt.barh(range(101), female)
plt.show()
성별 데이터를 항아리 모양 그래프로 시각화
import csv
import matplotlib.pyplot as plt
f = open('C:/Users/82109/OneDrive/바탕 화면/gender.csv')
gender = csv.reader(f)
region = input("지역명을 입력하세요:")
male = []
female = []
for row in gender:
if region in row[0]:
for i in range(0,101):
male.append(-int(row[i+3])) # 마이너스 부호를 넣어 음수로 변경
female.append(int(row[-(i+1)]))
female.reverse()
plt.rc("font", family = "Malgun Gothic")
plt.rcParams["axes.unicode_minus"] = False # 마이너스 부호 깨짐 현상 해결
plt.title("남녀 성별 인구 분포")
plt.barh(range(101), male, label = "남성")
plt.barh(range(101), female, label = "여성")
plt.legend()
plt.show()
'AI 기본 과정' 카테고리의 다른 글
Python을 이용한 데이터 분석 - Numpy (0) | 2022.05.10 |
---|---|
Python을 이용한 데이터 분석 - Matplotlib (4) (0) | 2022.05.06 |
Python을 이용한 데이터 분석 - Matplotlib (3) (0) | 2022.05.05 |
Python을 이용한 데이터 분석 - Matplotlib (1) (0) | 2022.05.02 |
인공지능, 머신러닝, 딥러닝의 개념 (0) | 2022.04.27 |