3 내 생일의 기온 변화
데이터를 리스트에 저장
import csv
f = open('부산.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
for row in data:
if row[-1] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
f.close()
print(max_temp_list)
print( len(max_temp_list) )
데이터 시각화
import matplotlib.pyplot as plt
plt.plot(max_temp_list, 'r')
plt.show()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r')
plt.show()
날짜 데이터 추출하기
- 년, 월, 일 정보를 추출 먼저 replace()함수를 사용하여 '\t2009-06-14'에서 \t을 제거
date = '\t2009-06-14'
date = date.replace('\t', '')
print(date)
2009-06-14- '2009-06-14'의 문자열은 split()함수를 이용하여 년, 월, 일을 분리
ymd = date.split('-')
print(ymd)
['2009', '06', '14']
print(ymd[0]) # 년 : year
print(ymd[1]) # 월 : month
print(ymd[2]) # 일 : day
2009 06 14- 8월 달의 최고 기온 데이터만 추출하여 그래프로 그려보겠다.
import csv
f = open('부산.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
for row in data:
if row[-1] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '08': # ['\t2009-06-14', '159', '20.2', '18.2', '23.8']
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r')
plt.show()
- 매년 자기 자신의 생일 날 최고 기온의 변화를 살펴보겠다.
import csv
f = open('부산.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
for row in data:
if row[-1] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '07' and row[0].split('-')[2] =='11':
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'b.-')
plt.title('max. temp of July 11 every year')
plt.ylabel('temp')
plt.grid()
plt.show()
- 매년 생일 날 최고 기온과 최저 기온 하나의 그림에 나타내라
import csv
f = open('부산.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
min_temp_list = []
for row in data:
if row[-1] != '' and row[-2] != '': # 누락된 데이터가 아닐 경우(데이터가 있을 경우)
if row[0].split('-')[1] == '07' and row[0].split('-')[2] =='11':
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
min_temp_list.append(float(row[-2]))
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r', label='max. temp')
plt.plot(min_temp_list, 'b', label='min. temp')
plt.title('max, min temp of January 24 every year')
plt.ylabel('temp')
plt.legend()
plt.show()
그래프에 한글 넣기
코랩에서 한글을 사용하기 위해
pip install koreanize-matplotlib
import csv
import matplotlib.pyplot as plt
import koreanize_matplotlib
f = open('부산.csv', encoding='cp949')
data = csv.reader(f)
next(data)
max_temp_list =[]
min_temp_list = []
for row in data:
if row[-1] != '' and row[-2] != '': # 최대기온과 최소기온 데이터가 누락되지 않은 경우(데이터가 있을 경우)
ymd = row[0].split('-') # 행에서 년월일 정보만 추출하여 '년', '월', '일'로 분리
if ymd[1] == '07' and ymd[2] =='11': # 월과 일 정보가 "1월 24일"과 일치하는지 검사
max_temp_list.append(float(row[-1])) # row[-1]은 문자열 데이터임으로 float() 함수를 사용하여 숫자형 데이터로 변환 후 저장
min_temp_list.append(float(row[-2]))
f.close()
plt.figure(figsize=(16, 4))
plt.plot(max_temp_list, 'r', label='최고 기온')
plt.plot(min_temp_list, 'b', label='최저 기온')
plt.title('매년 7월 11일의 초고, 최저 기온(부산)')
plt.ylabel('온도')
plt.legend()
plt.show()
'빅데이터 분석가 양성과정 > Python' 카테고리의 다른 글
Matplotlib(1) (0) | 2024.07.06 |
---|---|
데이터 시각화 기초(3) (1) | 2024.07.05 |
데이터 시각화 기초(1) (3) | 2024.07.05 |
Ch08 클래스 (0) | 2024.07.05 |
Ch07-3 모듈 / 모듈 만들기 (2) | 2024.07.05 |