고등학교 빅데이터 수업 공공 날씨 API로 데이터 모으기 (광명 진성고)

진성고등학교 빅데이터 데이터 수집 실습

광명 진성고등학교에서 진행한 빅데이터 수업. 데이터를 모으는 단계부터 시작했습니다.

광명 진성고등학교에서 날씨 데이터를 직접 받아 오는 것부터 시작하는 빅데이터 수업을 했습니다.

보통 학교 데이터 수업은 이미 정리된 표 파일을 나눠 주고 시작합니다. 그게 빠르긴 한데, 학생 입장에서는 데이터가 하늘에서 떨어진 것처럼 느껴집니다. 어디서 왔는지 모르니 왜 이 열이 있고 저 열은 없는지도 생각하지 않게 되고요.

그래서 이 수업은 순서를 바꿨습니다. 모델을 만들기 전에 데이터를 어디서, 어떻게 가져올 것인가를 먼저 다뤘습니다. 주제는 여름철 체감 더위였고요.

운영 개요

학교 · 광명 진성고등학교
주제 · 공공 날씨 API 호출 · 데이터 병합 · 결측치 처리
시간 · 2차시 80분 또는 3차시 120분
장소 · 일반 교실 (1인 1PC 또는 노트북 필요)

Open-Meteo에 요청을 보내 봅니다

썼던 도구는 Open-Meteo라는 무료 날씨 API입니다. 회원가입도 키 발급도 없이 바로 호출되는 것이 학교 수업에서는 큰 장점이에요. 수업 시작 5분 안에 첫 데이터가 화면에 뜹니다.

학생이 하는 일은 파이썬 몇 줄로 서버에 요청을 보내고, 돌아온 결과를 받아 보는 것입니다. 기온만 받아 보고, 그다음에 습도를 추가하고, 그다음에 풍속을 추가합니다. 요청을 조금 바꾸면 돌아오는 것이 달라진다는 감각이 여기서 생깁니다.

이 지점에서 자주 나오는 질문이 있습니다. “이거 실시간이에요?” 맞다고 답하면 표정이 달라집니다. 교과서 예제가 아니라 지금 이 순간의 값이라는 걸 알아채는 순간이에요.

파이썬으로 날씨 API를 호출하는 실습

기온, 습도, 풍속을 하나씩 추가해 가며 요청을 바꿔 봅니다.

기상청 숫자와 내가 느낀 더위는 다릅니다

날씨 데이터만으로는 부족하다는 걸 학생들이 먼저 말합니다. 같은 30도라도 어떤 날은 견딜 만하고 어떤 날은 숨이 막히니까요.

그래서 두 번째 데이터를 학생들이 직접 만들었습니다. 매일 자기가 느낀 더위를 1부터 10까지 숫자로 적는 설문입니다. 별것 아닌 것 같지만 이 작업이 수업의 고비예요. “오늘은 7인가 8인가”를 두고 한참 고민합니다.

여기서 기준을 정하지 않으면 숫자가 흔들린다는 걸 겪습니다. 어제 8이라고 적었으면 오늘은 어제와 비교해서 정해야 하는데, 그러려면 어제 무슨 기준으로 8을 줬는지 기억해야 하거든요. 데이터를 만드는 쪽에 서 보는 경험이 여기서 나옵니다.

체감 더위 설문을 숫자로 옮기는 과정

느낌을 숫자로 옮기는 단계. 기준을 세우는 데 시간이 걸립니다.

두 표를 하나로 붙이는 일

날씨 표와 설문 표가 따로 있으면 아무것도 못 합니다. 시각을 기준으로 두 표를 붙여야 하는데, 여기서 실제 데이터의 성격이 드러납니다.

설문을 안 낸 날이 있고, API가 그 시간대 값을 안 준 날도 있습니다. 빈칸을 어떻게 할 것인가가 다음 과제가 됩니다. 그 줄을 통째로 버릴 것인지, 앞뒤 값의 중간으로 채울 것인지. 정답이 없고 선택입니다.

학생들이 각자 다르게 정하고 결과를 비교해 보게 하면 이 이야기가 살아납니다. 같은 원본에서 서로 다른 결과가 나오는 이유가 전처리에 있다는 걸 말로 설명할 필요가 없어져요.

파이썬으로 두 데이터를 병합하고 정리하는 과정

시각을 기준으로 두 표를 합치고 빈칸을 처리합니다.

데이터를 모으는 힘이 남습니다

이 수업이 끝나고 학생 손에 남는 것은 모델이 아니라 데이터를 구하는 방법입니다.

공공데이터포털, 기상자료개방포털, 통계청 자료처럼 학생이 접근할 수 있는 창구가 이미 많습니다. 요청을 보내고 받아 정리하는 흐름을 한 번 해 보면 그 창구들이 전부 열립니다. 동아리 활동이나 탐구 보고서에서 주제만 정하면 재료를 스스로 구할 수 있게 되는 것이 이 수업의 실질적인 결과예요.

진로 쪽으로 보면 데이터 엔지니어라는 직무가 여기 걸립니다. 분석가 이야기는 많이 들었는데 그 앞단에 데이터를 모으고 다듬는 사람이 따로 있다는 걸 이 시간에 처음 아는 학생이 많습니다.

수집한 데이터를 정리해 확인하는 학생들

모아 온 데이터를 표로 정리해 확인합니다.

담당 선생님이 자주 묻는 것

Q. 파이썬을 안 배운 학년도 되나요?
됩니다. 코드를 처음부터 짜지 않고 동작하는 코드에서 값을 바꾸는 것부터 시작합니다. 지역을 바꾸고, 받아 올 항목을 하나 늘리는 식이라 문법을 몰라도 따라옵니다.

Q. 학교 컴퓨터에 파이썬을 깔아야 하나요?
아닙니다. 브라우저에서 도는 환경으로 진행할 수 있어서 설치 없이 됩니다. 다만 외부 인터넷 접속이 열려 있어야 API 호출이 되니 그것만 미리 확인해 주시면 좋습니다.

Q. 주제를 날씨 말고 다른 걸로 바꿀 수 있나요?
가능합니다. 미세먼지, 지역 교통량, 학교 급식 만족도처럼 학생이 체감하는 주제면 같은 흐름으로 짤 수 있습니다. 학교에서 다루고 싶은 주제를 알려 주시면 그쪽 데이터원으로 맞춰 준비합니다.

프로그램 문의 · 출강 일정 확인

선생님, 아래 세 가지만 알려주시면 프로그램 제안서와 견적을 보내드립니다.

1. 대상 학년과 인원
2. 희망 일정과 차시
3. 실습 공간 여건 (교실 형태, 컴퓨터실 여부, 콘센트)

전화 · 070-8064-0829
메일 · hyedu0829@gmail.com (제안서·견적 요청은 메일이 빠릅니다)
프로그램 목록 · https://hyedu.kr/ko/programs
한양미래연구소 · 경기도 안산시 상록구 한양대학로 55 창업보육센터 204호

한양미래연구소

이달의 인기 게시물

최근 게시물