[데이터분석] 부트캠프 TIL

20260402 TIL

myun0506 2026. 4. 2. 21:11

📝 TIL — 2026.04.02 | Streamlit 웹 앱 개발 기초

🔑 한 줄 요약

Python만으로 웹 대시보드를 만드는 프레임워크 Streamlit의 출력·입력·시각화 핵심 함수 학습

📌 핵심 포인트

1. Streamlit = Python 웹 앱 프레임워크

  • HTML/CSS/JS 없이 Python 코드만으로 대시보드 제작
  • Tableau 대비 AI/ML 통합이 압도적으로 쉬움 (Python 생태계 안에서 바로 연동)
  • 실행: streamlit run 파일경로

2. 출력 함수

  • st.write() — 만능 출력 (단, 줄바꿈 무시)
  • st.text() — 줄바꿈 유지 텍스트
  • st.dataframe() — 인터랙티브 테이블 / st.table() — 정적 테이블
  • st.metric() — KPI 카드 (delta 양수=초록, 음수=빨강)

3. 입력 위젯

  • 텍스트: text_input(), text_area()
  • 숫자: number_input(), slider(), select_slider()
  • 선택: selectbox()(단일), multiselect()(다중), radio()
  • 기타: checkbox(), toggle(), button(), date_input(), file_uploader(), download_button()
  • 💡 value에 튜플을 넣으면 범위 선택 가능 (slider, date_input 공통 패턴)
  • 이 위젯들은 모든 UI 프레임워크에 공통 → 한 번 정리하면 어디서든 활용

4. 알림/상태

  • st.toast() — 짧은 알림 / st.spinner() — 로딩 / st.progress() — 진행률 바

5. 시각화

  • Matplotlib → st.pyplot(plt.gcf()) (정적)
  • Plotly → st.plotly_chart(fig) (인터랙티브, Streamlit과 궁합 최고)
  • st.map() — 위도/경도만 있으면 자동 지도 표시

6. 🚨 가장 중요한 개념: @st.cache_data

  • Streamlit은 위젯 동작마다 코드 전체를 재실행
  • 데이터 로드 등 오래 걸리는 작업은 반드시 @st.cache_data로 캐싱!

'[데이터분석] 부트캠프 TIL' 카테고리의 다른 글

20260406 TIL  (1) 2026.04.06
20260403 TIL  (0) 2026.04.03
20260401 TIL  (0) 2026.04.01
20260331 TIL  (0) 2026.03.31
20260330 TIL  (0) 2026.03.30