💻프로그래밍/🕵️‍♀️모두의데이터분석

[파이썬] 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()

실행결과 : row[-1]의 값이 실수형으로 변환되어 더이상 작은따옴표''가 없이 구분됨을 알 수 있다.

 

#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,'도 였습니다.') #출력

출력결과 : 가장 마지막에 갱신된 값으로 출력됨. 즉, 가장 높은 최고기온과 그때의 날짜를 출력함.

 


😏

다른 언어의 기초수업 때 배우는 예제와 내용이 동일해 수월했음.

알고리즘은 이해한 상태라, 파이썬 함수에 대해서 집중해 공부할 수 있어 좋았음.