이 페이지의 목차
데이터 분석하기
코드 예제: Python · 예상 50분
학습 목표
- 데이터를 요약·비교·관계 분석으로 살펴볼 수 있다.
관련 성취기준
- [12소생03-03]
데이터를 분석하고 시각화하여 다양한 사회 현상의 의미를 해석한다.
생각 열기 — 1년 동안 새솔시 사람들은 자전거를 어떻게 탔을까
bike.csv 새솔시 공유 자전거 2025년 일별 기록 (정제를 마친 데이터)
365줄을 한 줄씩 읽어서는 아무것도 보이지 않는다. 분석은 많은 값을 몇 개의 숫자나 하나의 그림으로 줄여 모습이 드러나게 하는 일이다.
분석의 세 가지 물음
- 요약
보통 얼마인가
많은 값을 대표하는 숫자로 줄인다. 평균, 가운데 값(중앙값), 가장 작은·큰 값, 얼마나 흩어졌나(표준편차).
- 비교
무엇이 다른가
묶음(요일·계절·지역)으로 나누어 요약값을 견준다. 「주말 평균 대여가 평일보다 많다」.
- 관계
함께 움직이나
두 값을 짝지어 한쪽이 클 때 다른 쪽도 큰지 본다. 그 정도를 상관 계수(−1 ~ +1)로 나타낸다.
요약 — 평균과 중앙값
평균(mean) — 모든 값을 더해 개수로 나눈 값과 중앙값(median) — 값을 크기 차례로 늘어놓았을 때 한가운데 오는 값은 둘 다 «보통의 값»을 말하지만, 언제나 같지는 않다.
새솔시에는 1년 365일 가운데 79일 비가 왔다. 하루 강수량의 평균과 중앙값 가운데 어느 쪽이 더 클까?
힌트 — 비가 안 온 날(0mm)이 286일이다. 크기 차례로 늘어놓으면 한가운데에는 무엇이 올까?
평균
결과 바로 보기
평균
import pandas as pd
df = pd.read_csv('bike.csv')
print('평균:', round(df['강수량'].mean(), 2))
print('중앙값:', df['강수량'].median())
print('비 온 날:', (df['강수량'] > 0).sum(), '일')평균: 2.46 중앙값: 0.0 비 온 날: 79 일
한가운데(183번째) 날은 비가 오지 않은 날이라 중앙값은 0이다. 그런데 하루 30mm 넘게 온 7일 — 대부분 장마철이고, 가장 많이 온 날은 84.1mm 다 — 이 평균을 끌어올렸다. 값이 한쪽으로 치우쳐 있으면 평균은 그쪽으로 끌려간다. 그래서 «보통의 날»을 말할 때는 중앙값이 더 알맞을 수 있다.
직접 분석해 보기
아래 실험실에서 세 가지 물음을 차례로 해 보자. 고를 때마다 같은 일을 하는 판다스 코드가 맨 아래에 나온다.
세 물음에 답하기
약 20분실험실로 아래 물음에 답하고 활동지에 적는다.
- 요약 — 하루 대여 건수의 평균과 중앙값은 각각 얼마인가? 둘이 얼마나 다른가?
- 비교 — 요일별 평균 대여 건수에서 가장 많은 요일 둘은? 계절로 묶으면 어느 계절이 가장 적은가?
- 관계 — 평균기온·강수량·미세먼지 가운데 대여 건수와 상관 계수의 크기(부호를 뺀 값)가 가장 큰 것은?
분석의 세 물음
- 평균과 중앙값을 숫자로 적었다
- 요일과 계절을 견주었다
- 상관 계수를 적었다
- 담당자에게 전할 말을 적었다
글자 규칙으로 살펴보는 점검표다. 다 켜졌다고 좋은 답이 되는 것은 아니다 — 마지막 판단은 내가 한다.
적은 내용은 이 브라우저에만 저장된다. 다른 컴퓨터로 옮기거나 제출하려면 내려받는다.
파이썬으로 분석하기
import pandas as pd
df = pd.read_csv('bike.csv')
print('평균:', round(df['대여건수'].mean(), 1))
print('중앙값:', df['대여건수'].median())
print()
계절평균 = df.groupby('계절')['대여건수'].mean().round(1)
print(계절평균)
print()
print('기온과 대여의 상관 계수:', round(df['평균기온'].corr(df['대여건수']), 2))평균: 1822.4 중앙값: 1762.0 계절 가을 2214.0 겨울 753.2 봄 1962.3 여름 2341.0 Name: 대여건수, dtype: float64 기온과 대여의 상관 계수: 0.71
groupby('계절') 은 «계절이 같은 줄끼리 묶어라», 그 뒤의 ['대여건수'].mean() 은 «묶음마다 대여 건수의 평균을 내라»는 뜻이다. 결과의 차례가 가을·겨울·봄·여름인 것은 판다스가 묶음 이름을 가나다 차례로 늘어놓기 때문이다. 계절 차례로 보고 싶으면 .reindex(['봄', '여름', '가을', '겨울']) 을 붙인다.
상관 계수 읽기
상관 계수(correlation coefficient) — 두 값이 직선 모양으로 함께 움직이는 정도를 −1 ~ +1 로 나타낸 수. 흔히 r 로 쓴다는 두 값이 얼마나 «함께» 움직이는지를 나타낸다.
| r 의 값 | 뜻 | 새솔시의 예 |
|---|---|---|
| +0.7 ~ +1 | 강한 양의 상관 — 한쪽이 크면 다른 쪽도 크다 | 평균기온 ↔ 대여 건수 (0.71) |
| −0.2 ~ −0.4 | 약한 음의 상관 — 한쪽이 크면 다른 쪽이 조금 작은 편 | 강수량 ↔ 대여 건수 (−0.26), 미세먼지 ↔ 대여 건수 (−0.34) |
| 0 근처 | 직선 관계가 거의 없다 | — |
확인 문제
개념 확인 문제
보기를 누르면 바로 채점된다. 틀려도 해설을 읽으면 된다.
새솔시 하루 강수량의 평균은 2.46mm, 중앙값은 0mm 다. 이렇게 차이가 나는 까닭은?12소생03-03
「주말과 평일 가운데 어느 쪽이 자전거를 더 많이 빌리나?」는 분석의 세 물음 가운데 무엇인가?12소생03-03
판다스에서 요일마다 대여 건수의 평균을 구하는 코드는?12소생03-03
평균기온과 대여 건수의 상관 계수가 0.71 이다. 바르게 읽은 것은?12소생03-03
교과서에서 찾기
이 차시에 대응하는 교과서 위치가 아직 정리되지 않았다. [확인필요]