오늘 산출물: 필터+인터랙티브 차트가 있는 Streamlit 앱 (엑셀 파일은 그대로, 보는 방식만 확장)
Streamlit이란?
무엇을 하나요
Python으로 만든 결과를 브라우저 화면(대시보드)으로 보여주는 도구입니다.
왜 하나요
엑셀 차트는 “저장된 한 장면”에 가깝습니다. Streamlit은 사이드바에서 학과·학기를 고르면 숫자·차트가 같이 바뀌어, 회의에서 “우리 학과만 보면?”에 바로 답하기 좋습니다. 오늘의 도착지가 바로 이 화면입니다.
따라 하기
기억할 것 세 가지: 필터(사이드바) · 카드/숫자 · 차트(plotly).
실행은 터미널에서 streamlit run 파일명.py → 브라우저에 Local URL이 열립니다.
데이터는 계속 CSV/Excel을 읽고, “보여주는 방식”만 앱으로 옮긴다고 생각하면 됩니다.
미리보기
무엇을 하나요
강사가 완성본 화면을 보여 줍니다.
왜 하나요
도착지를 알면 따라가기 쉽습니다. “표 → 클릭해 보는 화면”이 오늘의 목표입니다.
따라 하기
성공 조건 3개를 읽습니다.
사이드바 필터를 바꾸면 차트·숫자가 같이 바뀌는 장면을 기억합니다.
M1
관점 발굴 프롬프트
35–45분
course_evaluations 스키마로, 단순 집계를 넘어 복합·관계 질문 뱅크를 받습니다.
패턴 A 실행
무엇을 하나요
역할+데이터+요청 형식으로 AI에게 표 형태 답변을 받습니다.
왜 하나요
백지에서 익숙한 막대만 고르면 질문이 얕아집니다. AI에게 비교·분포·구성·관계·추이를 골고루, 그중 “변수 2개 이상”이나 필터가 필요한 관점도 섞어 달라고 하면 엑셀에서 한 번에 그리기 어려운 분석 후보가 나옵니다.
따라 하기
data/course_evaluations.csv를 연다(또는 AI에게 경로를 알려 준다).
아래 프롬프트를 붙여 넣는다.
나온 Top 중 “관계·분포·필터”가 들어간 질문 1개 이상을 동그라미 친다.
그대로 붙여 넣을 말
KO
역할: 외국어대학 교무/IR 담당 분석가
데이터: data/course_evaluations.csv 를 읽고 컬럼·타입·샘플 5행을 확인한 뒤 진행해.
(참고) 같은 폴더의 faculty_workload.csv는 dept·term으로 연결할 수 있음.
요청:
1) 비교 / 분포 / 구성 / 관계 / 추이 각 영역에서 분석 질문 2개씩
2) 질문마다 추천 차트 1개와 필요한 전처리 (가능하면 plotly·필터 친화적으로)
3) 의사결정에 유용한 Top 5와 이유 — 그중 최소 2개는 (a) response_rate와 avg_overall처럼 변수 2개 이상 또는 (b) 학과/학기 필터가 있어야 의미가 살아나는 복합 관점
4) “전체로 보면 A인데 학과를 고르면 B”처럼 필터 전후 해석이 달라질 수 있는 후보를 표시
5) 엑셀 기본 차트로 만들기 번거로운 항목이 있으면 표시 (Sankey·box·인터랙티브 필터 등)
6) 해석 시 주의점
표로 답할 것.
(보너스) enrollment.csv로 “과정→전공→재학상태 흐름” 같은 Sankey 관점이 쓸모 있는지도 한 줄 평가.
VI
Vai trò: chuyên viên phân tích IR/học vụ trường ngoại ngữ
Dữ liệu: đọc data/course_evaluations.csv, kiểm tra cột·kiểu·5 dòng mẫu rồi làm tiếp.
(Gợi ý) faculty_workload.csv cùng thư mục có thể nối theo dept·term.
Yêu cầu:
1) Mỗi nhóm so sánh / phân phối / cơ cấu / quan hệ / xu hướng: 2 câu hỏi
2) Mỗi câu hỏi: 1 biểu đồ gợi ý + tiền xử lý (ưu tiên plotly/thân thiện với lọc)
3) Top 5 hữu ích + lý do — ≥2 góc nhìn phức hợp: (a) ≥2 biến (vd response_rate×avg_overall) hoặc (b) cần lọc khoa/học kỳ
4) Đánh dấu ứng viên “nhìn tổng thì A, lọc khoa thì B”
5) Đánh dấu mục khó làm bằng biểu đồ Excel cơ bản (Sankey·box·lọc tương tác…)
6) Lưu ý khi diễn giải
Trả lời dạng bảng.
(Bonus) Đánh giá một dòng: góc nhìn Sankey “chương trình→ngành→trạng thái” từ enrollment.csv có hữu ích không?
예상 결과 미리보기
샘플 데이터로 미리 그려 둔 결과입니다. 같은 프롬프트를 실행하면 비슷한 모양을 보게 됩니다.
샘플 결과
관계·필터 전후·(보너스) Sankey 흐름 관점이 포함된 AI 질문 뱅크 예시.
Top에서 “응답률×평점”, “학과 필터”, 또는 “흐름(Sankey)” 질문을 고르세요.
닫는 성공 조건: #1
M2
Streamlit으로 옮기기
35–45분
최소 앱 파일을 만들고 브라우저로 엽니다.
설치가 안 된 PC는 페어로 붙습니다. 설치는 사전 준비 페이지.
앱 뼈대 생성
무엇을 하나요
AI에게 Streamlit+plotly 앱 코드를 받습니다.
왜 하나요
정적 엑셀 차트는 “한 장면”입니다. Streamlit+plotly는 필터를 바꿔 가며 같은 분석을 탐험할 수 있어, 회의에서 “우리 학과만 보면?”에 바로 답하기 좋습니다.
따라 하기
아래 프롬프트로 day3_app.py를 만들게 합니다.
터미널에서 streamlit run day3_app.py를 실행합니다.
브라우저가 열리면 학과/학기 필터를 만져 봅니다.
그대로 붙여 넣을 말
KO
course_evaluations.csv로 Streamlit 앱 day3_app.py를 만들어 줘.
- 사이드바: dept, term 멀티셀렉트 (기본 전체)
- 본문: 전체 평균 overall 카드 + dept별 avg_overall bar chart (plotly)
- 아래에 response_rate vs avg_overall scatter도 같은 필터를 공유하게
- 상단에 “필터를 바꾸면 산점도 기울기/상관이 달라질 수 있다”는 안내 한 줄
- 초보도 실행하게 실행 방법 주석
VI
Tạo app Streamlit day3_app.py từ course_evaluations.csv.
- Sidebar: multiselect dept, term (mặc định tất cả)
- Body: thẻ overall + bar plotly avg_overall theo dept
- Thêm scatter response_rate vs avg_overall dùng cùng bộ lọc
- Một dòng chú thích: đổi lọc có thể đổi tương quan trên scatter
- Ghi chú cách chạy cho người mới
예상 결과 미리보기
샘플 데이터로 미리 그려 둔 결과입니다. 같은 프롬프트를 실행하면 비슷한 모양을 보게 됩니다.
샘플 결과
학과·학기 필터 + overall 카드 + 학과 bar — 필터를 바꾸면 숫자가 바뀌는 예시.
아래 미리보기에서 학과를 골라 보세요. 엑셀 시트를 여러 장 복제하는 대신 클릭으로 탐험합니다.
샘플 결과
streamlit run 실행 후 Local URL이 나온 터미널 예시.
Local URL을 브라우저에서 열면 같은 종류의 대시보드가 로컬에서 열립니다.
성공하면 이렇게 보입니다
localhost로 페이지가 열리고, 필터에 따라 카드·차트·산점도가 같이 바뀝니다.
안 되면
command not found: pip install streamlit 후 재시도
포트 충돌: 터미널에 나온 다른 Local URL을 엽니다.
닫는 성공 조건: #2, #3
BREAK
휴식
10–15분
휴식
휴식
무엇을 하나요
쉽니다
왜 하나요
마감 전 정리
따라 하기
앱을 켠 채로 두어도 됩니다
M3
차트 하나 더 / 정리
25–35분
산점도 개선에 이어, 엑셀에서 거의 안 그리는 흐름 차트(Sankey) 관점을 하나 추가합니다.
개선 한 방
무엇을 하나요
“response_rate와 avg_overall 산점도 추가” 등을 부탁합니다.
왜 하나요
바이브코딩의 핵심은 한 걸음 수정입니다. 전체 산점도는 “응답률↑ → 평점↓”처럼 보일 수 있지만, 학과 필터 후에는 관계가 약해지거나 달라질 수 있습니다 — 엑셀에서 시트마다 산점도를 복제하기 번거로운 지점입니다.
따라 하기
채팅에 개선 요청을 보냅니다.
전체 vs 한 학과 필터에서 산점도 느낌이 다른지 확인합니다.
그대로 붙여 넣을 말
KO
day3_app.py의 scatter(response_rate vs avg_overall)가 사이드바 필터를 따르는지 확인하고, 화면 상단에 현재 필터 기준 상관계수(Pearson)를 숫자로 보여 줘. 축 이름은 쉬운 말로.
VI
Kiểm tra scatter (response_rate vs avg_overall) theo lọc sidebar; hiện hệ số tương quan Pearson theo lọc hiện tại. Tên trục dễ hiểu.
예상 결과 미리보기
샘플 데이터로 미리 그려 둔 결과입니다. 같은 프롬프트를 실행하면 비슷한 모양을 보게 됩니다.
샘플 결과
응답률×overall 산점도 — 전체(음의 상관) vs 학과 필터 후 관계가 달라지는 예시.
막대는 전공별 “몇 명”만 보여 줍니다. Sankey는 같은 인원이 BA/MA에서 어떤 전공으로, 다시 active·leave로 갈라지는 경로를 한눈에 보여 줍니다. 엑셀 기본 차트에는 거의 없고, plotly로는 프롬프트 한 번으로 그릴 수 있습니다. (힌트: 특정 전공의 leave 줄기가 두꺼운지 보세요.)
가능하면 day3_app.py 하단에 “Enrollment flow” 섹션으로 붙여 달라고 추가 요청합니다.
그대로 붙여 넣을 말
KO
관점: 재학생 흐름(구성·경로)
데이터: data/enrollment.csv
질문: program(BA/MA) → major_lang → status 로 인원이 어떻게 흐르는가? 특히 leave 비중이 도드라지는 전공이 있는가?
요청:
1) 위 세 단계 Sankey(plotly)를 그려 줘. link 두께 = 해당 경로 인원 수.
2) 제목·호버에 쉬운 말 라벨.
3) Chinese(또는 leave가 두꺼운 전공) 흐름을 한 문장으로 해석해 줘.
4) “왜 막대만으로는 부족하고 Sankey가 맞는 질문인지” 한 줄.
가능하면 day3_app.py 맨 아래에 이 Sankey를 추가해 줘.
VI
Góc nhìn: dòng sinh viên (cơ cấu·đường đi)
Dữ liệu: data/enrollment.csv
Câu hỏi: program(BA/MA) → major_lang → status chảy thế nào? Ngành nào nổi leave?
Yêu cầu:
1) Vẽ Sankey plotly 3 tầng; độ dày link = số SV.
2) Tiêu đề/hover dễ hiểu.
3) Một câu về nhánh Chinese (hoặc ngành leave dày).
4) Một dòng vì sao câu hỏi này hợp Sankey hơn bar.
Nếu được, thêm Sankey này cuối day3_app.py.
예상 결과 미리보기
샘플 데이터로 미리 그려 둔 결과입니다. 같은 프롬프트를 실행하면 비슷한 모양을 보게 됩니다.
샘플 결과
BA/MA → 전공 → status Sankey — leave로 가는 줄기가 두꺼운 전공을 찾는 예시.
호버로 경로 인원을 확인하고, Chinese→leave 줄기를 다른 전공과 비교해 보세요.
닫는 성공 조건: #2
M4
마감
15–25분
체크 + Day4 예고
체크
무엇을 하나요
성공 조건 체크
왜 하나요
내일은 Excel 업로드 자동화
따라 하기
streamlit 앱 URL을 북마크하거나 실행 명령을 메모
닫는 성공 조건: #1, #2, #3
핵심 체크리스트
프롬프트 패턴·역할별 위젯 발산
AI 관점 발굴이 “평범한 차트”를 넘는 지점
막대·선만 나열하면 엑셀과 차이가 없습니다. 가치가 생기는 지점은 (1) 관계·분포처럼 복합 질문 (2) 필터가 있어야 의미가 사는 슬라이스 (3) 호버·확대가 되는 인터랙티브 구현 (4) 해석 주의점까지 같이 적어 두는 것입니다. 오늘 프롬프트의 “복합 관점 ≥2”가 그 연습입니다.
패턴 B — 스탠다드 통계만
화려한 차트 없이 분포·비교·추이·관계만 달라고 하면 수업/보고서용으로 안전합니다. “스탠다드”여도 관계·분포는 엑셀 기본 차트보다 Python이 편한 경우가 많습니다.
KO
이 데이터에 대해 통계·BI에서 흔히 쓰는 기본 시각화만 제안해 줘. 3D/장식용 제외. 각 항목에 pandas+plotly 한 줄 의사코드. 엑셀보다 Python이 유리한 이유를 한 줄씩 적어 줘.
VI
Chỉ đề xuất trực quan hóa cơ bản thường dùng trong thống kê/BI. Bỏ 3D/trang trí. Mỗi mục: một dòng giả mã pandas+plotly + một dòng vì sao Python thuận hơn Excel.
역할별 대시보드
학과장·국제교류·교무처가 보고 싶은 위젯은 다릅니다. 심화에서는 같은 데이터로 역할 3종 메뉴를 부탁해 보세요.
교원 부담과 강의평가 연결
faculty_workload.csv는 dept·term으로 course_evaluations와 붙일 수 있습니다. “담당 학점이 큰 학과·학기에서 avg_materials가 낮은가?”처럼 시트 두 장을 넘나드는 질문은 필터·재현이 번거롭습니다.
KO
course_evaluations.csv와 faculty_workload.csv를 dept·term으로 묶어, 학과·학기별 평균 total_credits와 평균 avg_materials의 관계를 plotly scatter로 보여 줘. 해석 주의점 한 줄.
VI
Nối course_evaluations và faculty_workload theo dept·term; vẽ scatter plotly trung bình total_credits vs avg_materials theo khoa·học kỳ. Một dòng lưu ý diễn giải.
st.cache_data?
데이터가 커지면 읽기 속도를 위해 캐시를 씁니다. Day3 핵심에는 불필요. 파일이 느릴 때만 심화로.