💻프로그래밍/🕵️♀️모두의데이터분석
[파이썬] 03. 데이터 최고값 출력
hyerimmy
2021. 1. 24. 20:35
📅 스터디 날짜 | 2021.01.19
📖 모두의 데이터 분석 | Unit 03 p43-52
#1 리스트의 맨 뒤 접근방법
- 리스트의 맨 뒤의 index는 -1이다. (첫 번째 값 바로 앞이 곧 맨 뒤의 값이라는 원리로 이해)
- 예를 들어, list라는 이름의 배열인 경우 list[-1]으로 리스트의 마지막 값에 접근할 수 있다.
- 즉, 크기가 4인 list의 경우 list[3] = list[-1]
#2 CSV 값을 실수형으로 변환
- csv파일의 데이터는 숫자 값이 아닌 문자열이기 때문에, 값을 더하거나 크기 비교를 할 수 없다.
- float() : 실수(float) 데이터로 변환하는 함수
import csv
f = open('seoul.csv')
data = csv.reader(f)
header = next(data)
for row in data :
row[-1] = float(row[-1]) #최고 기온 값을 실수형으로 변환
print (row)
f.close()
#3 빈 값을 터무니 없는 수로 변환
- 빈 데이터가 있는 경우, 실수형으로 변환이 안 되어 오류가 발생한다.
- 빈 값을 대체할 특정 값을 정해 넣어 해결한다.
- 예를 들어, 최고 기온 값으로 나오기 어려운 -999를 넣어 '이 데이터는 빈 문자열이 있던 자리야'라고 표현
import csv
f = open('seoul.csv')
data = csv.reader(f)
header = next(data)
for row in data :
if row[-1] == '' : #값이 누락된 경우 (빈 값인 경우)
row[-1] = -999 #-999를 넣어 빈 문자열이 있던 자리라고 표시
row[-1] = float(row[-1])
print (row)
f.close()
#4 서울의 기온기 가장 높았던 날의 날짜와 기온 구하기
- 최고 기온을 저장할 변수와 최고 기온기 가장 높았던 날짜를 저장할 변수 생성
- 매 열의 최고기온 값을 변수의 값과 비교해 더 큰 값으로 업데이트
- 모든 열의 값을 비교했다면, 변수에 저장된 값 출력
import csv
max_temp = -999 #최고 기온 저장할 변수
max_date = '' #최고 기온기 가장 높은 날짜 저장할 변수
f = open('seoul.csv')
data = csv.reader(f)
header = next(data)
for row in data :
if row[-1] == '' :
row[-1] = -999
row[-1] = float(row[-1])
if max_temp < row[-1] : #만약 지금까지의 가장 높은 최고기온 값 보다 더 높다면
max_date = row[0] #변수값을 이번 열의 날짜로 갱신
max_temp = row[-1] #변수값을 이번 열의 최고기온 값으로 갱신
f.close()
print('기상 관측 이래 서울의 최고 기온기 가장 높았던 날은',max_date+'로, ',max_temp,'도 였습니다.') #출력
😏
다른 언어의 기초수업 때 배우는 예제와 내용이 동일해 수월했음.
알고리즘은 이해한 상태라, 파이썬 함수에 대해서 집중해 공부할 수 있어 좋았음.