반응형
Streamlit 소개
Streamlit은 Python 기반의 오픈소스 프레임워크로, 데이터를 시각화하고 웹 애플리케이션을 쉽게 만들 수 있도록 설계되었습니다. 데이터 과학자, 머신러닝 엔지니어, 분석가들이 빠르게 대화형 웹 애플리케이션을 개발할 수 있도록 도와줍니다.
✅ 주요 기능
- 간단한 코드 작성
- HTML, CSS, JavaScript 없이 Python 코드만으로 대화형 UI를 구성 가능
- 자동 리로딩
- 코드가 변경되면 애플리케이션이 자동으로 업데이트됨
- 데이터 시각화 지원
- matplotlib, plotly, seaborn 등과 쉽게 연동 가능
- 대화형 위젯 제공
- st.button, st.slider, st.text_input 등의 UI 요소 사용 가능
- 빠른 배포 지원
- Streamlit Cloud 또는 Docker 등을 활용해 손쉽게 배포 가능
반응형
🎯 사용 사례
- 데이터 분석 결과 공유용 대시보드
- 머신러닝 모델의 인퍼런스 웹 애플리케이션
- 실시간 데이터 모니터링 시스템
- 데이터 입력 및 처리 자동화 도구
📝 Streamlit 샘플 코드
다음은 Streamlit을 사용하여 간단한 데이터 대시보드를 만드는 예제입니다.
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
plt.rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False
# 제목 설정
st.title("Streamlit 대시보드 예제")
# 데이터 생성
data = pd.DataFrame({
"날짜": pd.date_range(start="2024-01-01", periods=30),
"매출": np.random.randint(100, 500, size=30)
})
# 날짜 필터 추가
date_range = st.date_input("날짜 범위를 선택하세요", [data["날짜"].min(), data["날짜"].max()])
filtered_data = data[(data["날짜"] >= pd.to_datetime(date_range[0])) &
(data["날짜"] <= pd.to_datetime(date_range[1]))]
# 데이터 표시
st.write("📊 필터링된 데이터:", filtered_data)
# 차트 그리기
fig, ax = plt.subplots()
ax.plot(filtered_data["날짜"], filtered_data["매출"], marker="o", linestyle="-", color="b")
ax.set_title("매출 변화 추이")
ax.set_xlabel("날짜")
ax.set_ylabel("매출")
st.pyplot(fig)
실행 방법
- Streamlit 설치
pip install streamlit
- 위의 Python 코드를 app.py로 저장
- 터미널에서 실행
streamlit run app.py
그러면 로컬 웹 브라우저에서 대시보드가 실행됩니다! 🚀
실행결과)
반응형
'IT > SW Dev.' 카테고리의 다른 글
쉬운 AI Coding - Python UI 개발툴(Tkinter, pyQt, kivy) (1) | 2025.02.19 |
---|---|
쉬운 AI Coding - EasyOCR(텍스트 추출) 패키지 및 Python 예제 (0) | 2025.02.19 |
python으로 작성한 코테 알고리즘 별 사례 (1) | 2025.02.15 |
쉬운 AI Coding - 공학용 계산기 코드 생성 예시(html, css, javscript, math.js) (1) | 2025.02.13 |
쉬운 AI Coding - 웨이퍼맵(wafermap) 코드 생성 예시(html, css, javascript) (0) | 2025.02.13 |