파이썬 Python/파이썬
[8일차/파이썬] ★데이터 시각화 - 연습문제
하나비 HANABI
2023. 1. 4. 17:52
교재 <예제 중심의 파이썬 입문 - 황재호>
p.406
월별 카페 개수를 나타내는 막대 그래프
# p.406
# 연습문제1
from matplotlib import pyplot as plt
file = open('./data/12/cafe_2year.csv','r',encoding='UTF-8')
lines = file.readlines()
file.close() # 필요한 데이터를 위에서 다 가져왔으므로 파일 닫기
cafe_list=[]
for line in lines[1:]:
temp = line[:-1].split(',')
cafe_list.append(temp)
x=[]
y=[]
count = 0
for data in cafe_list[2:]:
if count % 3 == 0:
x.append(data[0])
y.append(data[1])
count += 1
plt.bar(x, y)
rc('font', family='Malgun Gothic')
font1 = {'color':'green'}
plt.title('전국의 월별 카페 수', fontdict = font1)
plt.show()
enumerate( ) : 인덱스와 값을 함께 리턴
mlist = ['a','b','c']
for idx,m in enumerate(mlist):
print(idx, m)
'''
0 a
1 b
2 c
'''
enumerate 함수를 사용한 1번문제
x=[]
y=[]
for idx, data in enumerate(cafe_list[2:]):
if idx % 3 == 0:
x.append(data[0])
y.append(data[1])
서울 종합병원의 의사 수 분포
# 연습문제6
from matplotlib import pyplot as plt
file = open('./data/12/doctor2.csv','r',encoding='UTF-8')
lines = file.readlines()
file.close()
header = lines[0][:-1].split(',')
print(header)
doc_list=[]
for line in lines[1:]:
temp = line[:-1].split(',')
for i in range(1,5):
temp[i] = int(temp[i])
doc_list.append(temp)
print(doc_list)
seoul = doc_list[0]
p=[]
for i in range(1, len(seoul)):
total = sum(seoul[1:])
p.append(seoul[i]/total)
print(p)
rc('font', family='Malgun Gothic')
plt.pie(p, labels=header[1:], autopct='%.1f%%', startangle=90, shadow=True, explode=(0,0.1,0,0))
plt.show()