google colab: 클라우드 기반 무료 jupyter notebook 개발 환경.
"=": 값을 담는 상자
variable(변수)
: 모든 변수명이 숫자로 시작하면 안된다. 항상 영문으로 시작. 변수명은 소문자로 시작
if, for, while 예약으로 등록되어있으면 사용불가.
'_'(언더바) 제외한 특수문자는 사용이 불가하다.
list란?
: 여러 값을 함께 모을 수 있는 자료형 리스트는 대괄호([])와 콤마(,)를 사용해서 만든다
한줄기차 : 일반적으로 우리가 순서를 셀 때 1부터 시작하지만, 파이썬에서는 0부터 시작합니다.
.append( )를 이용해서 추가할 수 있다.
dictionary(사전)
: 키와 값으로 구성되어 있는 자료형
{키1:값1,키2:값2,'''}
서울이 가장 더웠던 날은 언제였을까? 얼마나 더웠을까? ✔
일교차가 가장 큰 시기는 1년 중 언제쯤일까?
겨울에는 언제 가장 추울까? 12월? 1월? 2월?
가장 덥다고 알려진 대구보다 서울이 더 더운날이 1년 중 얼마나 있을까?
서울이 가장 더웠던 날은 언제였을까? 얼마나 더웠을까?
- 가장 더웠던 날의 기준은?
- 우리가 갖고 있는 데이터는?
-> 기상 관측 이래, 서울의 최고 기온이 가장 높았던 날은 언제였고, 몇 도였을까?
질문: 기상관측이래, 서울의 최고 기온이 가장 높았던 날은 언제였고, 몇 도였을까?
질문을 해결하는데 필요한 데이터는?
- 날짜, 최고기온 데이터
질문을 해결하는데 필요한 절차(알고리즘)는?
import csv
max_temp = -999 # 최고 기온 값을 저장할 변수 -> 명확한 결과를 위해 극적인 값으로 셋팅
max_date = '' # 최고 기온이 가장 높았던 날짜를 저장 할 변수
# 1 -1 ) 파일을 연다.
f = open('/content/seoul.csv', 'r', encoding='cp949')
# 1 - 2) 파일을 읽는다.
data = csv.reader(f) #, delimiter= ',' 콤마인 경우에는 생각 가능하다
# 1 - 3) 헤더 저장하기
header = next(data) # next 한줄만 읽어줌, 커서(읽어드릴 위치) 한칸 이동
# 2) 날짜, 최고 기온 확인
for row in data:
# 2 - 1) 결측치 데이터 처리 -> 명확한 결과를 위해 극적인 값으로 초기화
if row[-1] == '':
row[-1] = -999
# 2 - 2) 실수형변환 처리
row[-1] = float(row[-1])
# 3) 최고 기온과 날짜를 저장
if max_temp < row[-1] :
max_temp = row[-1] # 최고 기온
max_date = row[0] # 최고 기온인 날짜
f.close()
# 4) 출력
print('기상 관측 이래 서울의 최고 기온이 가장 높았던 날은?', max_date, '로', max_temp, '도 있습니다.')
# 5) 파일을 닫는다.
f.close()
# 기상 관측 이래, 서울의 최저 기온이 가장 낮았던 날은 언제고 몇도 였을까?
import csv
min_temp = 999 # 최저 기온 값을 저장할 변수 -> 명확한 결과를 위해 극적인 값으로 셋팅
min_date = '' # 최저 기온이 가장 낮았던 날짜를 저장 할 변수
# 1 -1 ) 파일을 연다.
f = open('/content/seoul.csv', 'r', encoding='cp949')
# 1 - 2) 파일을 읽는다.
data = csv.reader(f) #, delimiter= ',' 콤마인 경우에는 생각 가능하다
# 1 - 3) 헤더 저장하기
header = next(data) # next 한줄만 읽어줌, 커서(읽어드릴 위치) 한칸 이동
# 2) 날짜, 최저 기온 확인
for row in data:
# 2 - 1) 결측치 데이터 처리 -> 명확한 결과를 위해 극적인 값으로 초기화
if row[-2] == '':
row[-2] = 999 # 높았을때와 반대로 영상 999도로 높였다.
# 2 - 2) 실수형변환 처리
row[-2] = float(row[-2])
# 3) 최저 기온과 날짜를 저장
if min_temp > row[-2] :
min_temp = row[-2] # 최저 기온
min_date = row[0] # 최저 기온인 날짜
f.close()
# 4) 출력
print('기상 관측 이래 서울의 최저 기온이 가장 낮았던 날은?', min_date, '로', min_temp, '도 있습니다.')
# 5) 파일을 닫는다.
f.close()
다운로드 받은 csv 파일을 살펴보면 최저기온은 row[-2]값을 갖고 있다.
row[-1]을 row[-2]로 설정함으로 최저기온을 물어볼 수 있었다.
또한, 극댓값을 설정하기 위해 max_temp 였던 -999를 min_temp로 변환한뒤 999로 값을 재설정하였다.
마지막으로 "if min_temp < row[-2] :"의 부호를 "if min_temp > row[-2] :"로 바꿔줌으로써 최저 기온이었던 날짜와 기온을 알아낼 수 있었다.
import csv
max_temp = -999 # 평균 기온 값을 저장할 변수 -> 명확한 결과를 위해 극적인 값으로 셋팅
max_date = '' # 평균 기온이 가장 높았던 날짜를 저장 할 변수
# 1 -1 ) 파일을 연다.
f = open('/content/deajeon.csv', 'r', encoding='cp949')
# 1 - 2) 파일을 읽는다.
data = csv.reader(f) #, delimiter= ',' 콤마인 경우에는 생각 가능하다
# 1 - 3) 헤더 저장하기
header = next(data) # next 한줄만 읽어줌, 커서(읽어드릴 위치) 한칸 이동
# 2) 날짜, 최고 기온 확인
for row in data:
# 2 - 1) 결측치 데이터 처리 -> 명확한 결과를 위해 극적인 값으로 초기화
if row[-1] == '':
row[-1] = -999
# 2 - 2) 실수형변환 처리
row[-1] = float(row[-1])
# 3) 평균 기온과 날짜를 저장
if max_temp < row[-1] :
max_temp = row[-1] # 평균 기온
max_date = row[0] # 평균 기온인 날짜
f.close()
# 4) 출력
print('기상 관측 이래 대전의 평균 기온이 가장 높았던 날은?', max_date, '로', max_temp, '도 있습니다.')
# 5) 파일을 닫는다.
f.close()
이모티콘들이 너무나 적절하고 귀욤귀욤.. 파일 가져오는 부분 보드판에 제가 그렸던 것을 이미지로 그리다니.. 대단한 정성 굿굿!!