3단원 · 교과서 개념과 파이썬 예제

보충 1. 교과서 개념 정리

씨마스 수업용 PPT 5개(211장)와 교사용 교과서 3단원(82~125쪽)의 교육 흐름을 바탕으로 학생용 설명과 코드 예제를 새로 구성했습니다.

시험 범위 안내(교사 최종 확정 전)

이 교재는 3단원의 학습 요소를 반영합니다. 기말고사에 실제로 출제할 상세 범위는 담당 교사가 공지한 필수 학습 내용으로 확정합니다. 선택 심화 Pandas 코드 전체가 자동으로 출제 범위가 되지는 않습니다.

출판사 PPT·교과서 원문, 그림과 답안은 공개 복제하지 않습니다. 교과서 쪽수와 핵심 학습 내용에 맞춰 자체 작성한 학생용 대체 설명입니다.

교과서 01 · 교과서 84~87쪽 · 왜 데이터를 분석할까?

교과서 84~87쪽 · 왜 데이터를 분석할까?

교과서 핵심 개념

기온 변화 같은 현상을 숫자로 설명하려면 자료의 출처·단위·기간이 중요합니다. 정형은 표, 반정형은 JSON·XML, 비정형은 문장·사진·음성입니다.

교과서 활동의 의미

표의 한 행은 관측 1건, 열은 측정 변수입니다. 데이터 분석은 질문 설정→수집→처리→시각화→해석 순서로 진행합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'year':[2022,2023,2024], 'temp':[13.2,13.8,14.1]})
print(df.shape)
print(df['temp'].mean())
학생 확인 질문

세 연도 기온 자료의 단위와 자료 출처가 없다면 무엇을 확정할 수 없을까요?

교과서 02 · 교과서 88~91쪽 · 수집과 전처리

교과서 88~91쪽 · 수집과 전처리

교과서 핵심 개념

웹 스크래핑, 설문 조사, 센서, 공개 데이터를 문제 목적에 맞게 선택합니다. 원본에서 중복·결측·잘못된 자료형을 탐색한 후 처리 원칙을 기록합니다.

교과서 활동의 의미

데이터 시각화는 막대·꺾은선·산점도처럼 목적에 맞는 유형을 선택합니다. 그래프 제목, 축, 단위와 출처를 표기하세요.

Pandas 연결 예제

import pandas as pd
from io import StringIO
raw='year,temp\n2022,13.2\n2023,\n2024,14.1'
df=pd.read_csv(StringIO(raw))
print(df.isna().sum())
print(df.dropna())
학생 확인 질문

결측값을 항상 0으로 바꾸면 왜 안 될까요?

교과서 03 · 교과서 92~99쪽 · 기온 변화 추이 분석

교과서 92~99쪽 · 기온 변화 추이 분석

교과서 핵심 개념

기상자료개방포털 같은 공식 출처에서 기간과 관측 지점을 선택하고, 최고 기온이나 평균 기온의 추이를 확인합니다.

교과서 활동의 의미

Pandas로 불러온 자료를 필터링·정렬·결측 처리한 후 그래프로 만듭니다. 상승 경향을 관찰하더라도 개별 원인을 단정하지 않습니다.

Pandas 연결 예제

import pandas as pd
import matplotlib.pyplot as plt
df=pd.DataFrame({'year':[2021,2022,2023,2024], 'temp':[13.1,13.4,13.0,13.8]})
print(df.sort_values('year'))
plt.plot(df['year'],df['temp'],marker='o')
plt.xlabel('Year');plt.ylabel('Fictional Temperature');plt.title('Practice Only')
plt.show()
학생 확인 질문

자료의 일부 연도만 선택하면 결론이 왜 달라질 수 있을까요?

교과서 04 · 교과서 100~104쪽 · 비정형 데이터 속 단어 찾기

교과서 100~104쪽 · 비정형 데이터 속 단어 찾기

교과서 핵심 개념

글은 표와 달리 불규칙하므로 먼저 문장을 모으고 정리한 후 형태소·단어 빈도를 분석합니다. 워드 클라우드는 빈도 기반 시각화의 하나입니다.

교과서 활동의 의미

중복 문서나 불필요한 조사·기호를 처리하지 않으면 빈도 순위가 왜곡됩니다. 단어가 많다는 사실만으로 긍정·부정 맥락을 확정할 수 없습니다.

Pandas 연결 예제

import pandas as pd
from collections import Counter
texts=['기후 변화 대비','기후 위기 대응','기후 변화 교육']
words=[w for t in texts for w in t.split()]
print(pd.Series(Counter(words)).sort_values(ascending=False))
학생 확인 질문

빈도가 높은 '기후' 단어는 문장의 의도를 충분히 설명하나요?

교과서 05 · 교과서 105~106쪽 · 데이터의 사회적 가치

교과서 105~106쪽 · 데이터의 사회적 가치

교과서 핵심 개념

데이터 분석은 의료·교통·환경·교육 분야에서 의사결정을 돕습니다. 동시에 개인정보, 편향, 잘못된 인과 해석의 위험을 점검해야 합니다.

교과서 활동의 의미

통계자료의 숫자가 사실인지, 그 숫자로부터 해석한 주장이 합리적인지 구분합니다. 표본의 대표성과 수집 동의를 확인합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'route':['A','B','C'],'wait':[4,12,6]})
print(df.sort_values('wait',ascending=False))
학생 확인 질문

가장 오래 기다린 노선을 찾았다는 사실만으로 버스가 항상 지연된다고 말할 수 있을까요?

교과서 06 · 교과서 109~114쪽 · 스포츠 기록 분석 연구원

교과서 109~114쪽 · 스포츠 기록 분석 연구원

교과서 핵심 개념

선수별 기록을 분석해 팀 선발의 근거를 마련합니다. 원 교과서에서는 스포츠 선수 자료를 수집하고 속성을 선택하여 조건에 맞는 선수 목록을 만듭니다.

교과서 활동의 의미

Pandas에서는 조건 추출·정렬·그룹 집계로 같은 사고 과정을 연습합니다. 실제 팀을 선정할 때에는 경기 수 등 서로 다른 조건을 비교합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'player':['A','B','C'],'position':['GK','FW','GK'],'overall':[84,90,88]})
print(df[(df['position']=='GK')&(df['overall']>85)])
학생 확인 질문

GK이며 overall 85 초과 조건을 만족하는 선수는 누구인가요?

교과서 07 · 교과서 116~118쪽 · 인구 변화 문제와 자료 수집

교과서 116~118쪽 · 인구 변화 문제와 자료 수집

교과서 핵심 개념

전체 인구수·출생아 수·가구 수 중 어떤 질문을 풀고 싶은지 정하고, KOSIS 등 공공 자료를 찾아 연도·지역·단위를 맞춥니다.

교과서 활동의 의미

비교할 대상별 자료가 다른 연도 기준이거나 단위가 다르면 잘못된 결론을 낼 수 있습니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'year':[2022,2023,2024],'population':[1000,975,950]})
print(df.head())
print(df.dtypes)
학생 확인 질문

감소 '인원'과 감소 '비율' 가운데 어느 기준으로 지역을 비교하는 것이 좋을까요?

교과서 08 · 교과서 119~120쪽 · 인구 데이터 처리와 시각화

교과서 119~120쪽 · 인구 데이터 처리와 시각화

교과서 핵심 개념

목표에 필요하지 않은 열을 정리하고 결측치를 확인한 뒤, 인구 변화가 잘 보이도록 연도별 그래프를 작성합니다.

교과서 활동의 의미

Pandas의 pct_change()로 직전 시점 대비 증감률을 계산할 수 있습니다. 증감률은 기준 인구를 분모로 합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'year':[2022,2023,2024], 'population':[1000,975,950]})
df['change_pct']=df['population'].pct_change()*100
print(df)
print(df['change_pct'].iloc[-1])
학생 확인 질문

마지막 인구 증감률이 약 -2.56%가 되는 이유를 설명하세요.

교과서 09 · 교과서 121~123쪽 · 해석과 인포그래픽

교과서 121~123쪽 · 해석과 인포그래픽

교과서 핵심 개념

그래프와 수치를 바탕으로 인구 변화의 의미를 설명하고 인포그래픽으로 정보를 전달합니다.

교과서 활동의 의미

공공정책 제안은 분석된 사실, 추정한 원인, 더 필요한 근거를 명확하게 나누어 작성합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'city':['A','B'],'before':[100,1000],'after':[90,970]})
df['decrease']=df['before']-df['after']
df['decrease_pct']=100*df['decrease']/df['before']
print(df[['city','decrease','decrease_pct']])
학생 확인 질문

감소 인원과 감소율이 서로 다른 지역을 지목할 수 있는 이유는 무엇인가요?

교과서 10 · 교과서 124~125쪽 · 단원 전체 평가

교과서 124~125쪽 · 단원 전체 평가

교과서 핵심 개념

데이터 유형·분석 절차·전처리·시각화·윤리적 활용을 한 흐름으로 설명하고, 스포츠·기후·인구 사례로 적용합니다.

교과서 활동의 의미

최종 결과물은 탐구 질문→출처→코드→그래프→관찰 사실→한계→제안으로 구성합니다.

Pandas 연결 예제

import pandas as pd
df=pd.DataFrame({'group':['A','A','B'],'score':[70,90,80]})
print(df.groupby('group')['score'].mean())
학생 확인 질문

집단 평균만 보고 원인·우열을 확정할 수 없는 이유를 적으세요.