한 줄을 열어 본다 — 표의 첫인상, 그리고 실험실
9분여는 장면에 적어 둔 내 예측입니다. 코드 ①의 출력과 맞대어 보세요 — 특히 이용건수의 가장 큰 값이 얼마인지가 이 문장의 운명을 가릅니다.
기본 코드 ①은 채워져 있습니다. 그대로 ▶ 실행해 행·열 수와 첫 두 줄, 그리고 이용건수의 가장 작은 값 · 가운데 값 · 가장 큰 값을 확인하세요.
[A] 표의 첫인상 행 2,000개 × 열 11개 첫 두 행을 세로로(열이 11개라 가로로는 넘친다): 대여일자: 202406 / 202406 대여소번호: 102 / 102 대여소명: 102. 망원역 1번출구 앞 / 102. 망원역 1번출구 앞 대여구분코드: 정기권 / 정기권 성별: F / F 연령대코드: 40대 / ~10대 이용건수: 156 / 14 운동량: 9638.66 / 1302.54 탄소량: 93.57 / 12.43 이동거리(M): 408795.41 / 53600.79 이용시간(분): 4796 / 458 이용건수: 가장 작게 1 · 가운데 15 · 가장 크게 1,236
도전 df["이용건수"].sum() 을 찍어 보세요.
2,000줄에 담긴 대여가 모두 몇 건인지 나옵니다 — 줄 수와 견주면 한 줄이 무엇인지 더 또렷해집니다.
탐구 이용건수가 1 인 줄은 어떤 줄일까요?
df[df["이용건수"] == 1].head(3) 로 세 줄만 꺼내 보고, 그 줄의 이동거리가 얼마인지 보세요.
이제 실험실로 갑니다. 예측을 먼저 잠그고 코드 칩을 넣어 막대를 세운 뒤, 막대 → 벽돌 → 대여로 파고듭니다. 여기서 벽돌은 표의 한 줄이고, 대여는 그 줄에 묶여 있는 대여 한 번입니다. 마지막에 세로축의 분모 칸(÷ □)에 칸 하나를 넣으면 묶음이 풀립니다.
묶음 풀기
한 번에 마라톤 다섯 번을 타는 20대? — 막대를 열면 벽돌이, 벽돌을 열면 대여가 나온다
- 1한 줄의 뜻 · 1위 연령대 · 한 번 거리를 골라 잠근다
- 2코드 칩을 넣어 막대를 세우고 막대 → 벽돌 → 대여로 파고든다
- 3분모 칸(÷ □)에 칸을 넣어 묶음을 풀고 판정을 받는다
한 줄 평균 = 값의 합 ÷ 줄 수 · 한 번 몫 = 값의 합 ÷ 이용건수의 합 — 분모 칸에 넣은 칸이 곧 ‘무엇 하나의 몫인가’를 정한다
판정 — 잠근 1위가 한 번 몫 순위에서 몇 위인지(자리 차)와, 잠근 거리가 20대의 한 번 몫에서 몇 m 떨어졌는지로 점수를 낸다. ‘기타’는 뜻이 열린 칸이라 회색으로 두고 순위에서 뺀다
금고 — 이 표로는 열 수 없는 물음 셋. 물음마다 모자란 것 카드를 하나씩 붙인다(셋을 다 맞히면 열린다)
예측을 잠그고 막대를 세운 뒤, 분모 칸에 이용건수를 넣어 시상대를 뒤집어라 — 20대는 일곱 구간 가운데 몇 위로 내려가는가?
대여구분 × 이용시간과 성별 × 이동거리를 차례로 열어 두 분모를 모두 눌러라 — 뒤집히는 쪽과 뒤집히지 않는 쪽이 갈린다.
금고 — 이 표로 못 여는 물음 셋에 ‘모자란 것’ 카드를 하나씩 붙여 금고를 열어라.
자료: 서울열린데이터광장 「서울특별시 공공자전거 이용정보(월별)」(OA-15248) 2024년 6월 무작위 2,000행 —
코드 ① ~ ⑤ 가 읽는 ../data/bike_use_sample.csv 와 같은 2,000줄을 쪽 안에 실었다(원장이 구웠다).
이 표에서 ‘연령대별 평균 이동거리’를 groupby(...).mean() 으로 내면
그 값은 거리가 아니라 를 잰 것이다.
한 번 빌려 간 거리를 알고 싶으면 로 나눠야 하고, 그때 20대는 위가 된다.