Streamlit을 이용한 프로젝트

Streamlit을 이용한 프로젝트

우리는 Streamlit을 이용해 프로젝트를 만들 수 있습니다! 간단한 코드로 데이터 시각화 대시보드, 머신러닝 모델 데모, 데이터 입력 애플리케이션 등을 손쉽게 구현할 수 있습니다. 아래는 Streamlit 프로젝트 예시와 각 단계에 대한 설명입니다.


Streamlit 프로젝트 예시: 데이터 분석 대시보드 만들기

1. 프로젝트 구조

bash
my_project/ │ ├── app.py # 메인 애플리케이션 파일 ├── data/ # 데이터 파일을 저장하는 폴더 │ └── sample.csv # 샘플 데이터 ├── requirements.txt # 필요한 라이브러리 목록 └── README.md # 프로젝트 설명 파일

2. 코드 예제 (app.py)

아래는 Pandas로 데이터를 불러와 간단한 데이터 시각화를 보여주는 Streamlit 애플리케이션입니다.

python
import streamlit as st import pandas as pd import matplotlib.pyplot as plt # 제목 설정 st.title("간단한 데이터 분석 대시보드") # CSV 파일 업로드 uploaded_file = st.file_uploader("CSV 파일을 업로드하세요", type="csv") if uploaded_file: # 데이터 읽기 data = pd.read_csv(uploaded_file) st.write("업로드된 데이터:") st.write(data) # 데이터 통계 요약 표시 st.subheader("데이터 통계 요약") st.write(data.describe()) # 데이터 시각화 st.subheader("데이터 시각화") selected_column = st.selectbox("시각화할 컬럼을 선택하세요", data.columns) fig, ax = plt.subplots() data[selected_column].hist(ax=ax) st.pyplot(fig)

3. 실행 방법

  1. Streamlit 설치:
    bash
    pip install streamlit
  2. 앱 실행:
    bash
    streamlit run app.py

이제 웹 브라우저에서 localhost:8501에 접속하면 앱이 실행됩니다.


4. 배포 방법

Streamlit 프로젝트는 Streamlit Cloud 또는 Heroku, AWS와 같은 클라우드 플랫폼에 쉽게 배포할 수 있습니다.

  • Streamlit Cloud 배포:
    1. Streamlit Cloud 계정 생성.
    2. GitHub에 프로젝트 업로드 후, Streamlit Cloud에서 리포지토리 연동.
    3. 몇 번의 클릭만으로 애플리케이션을 배포합니다.

확장 아이디어

  • 머신러닝 모델을 포함해 입력값에 따라 실시간으로 예측 결과를 제공하는 앱 제작.
  • API와 연동해 실시간 데이터(예: 주식 가격, 날씨 정보)를 시각화.
  • 사용자 입력 폼을 만들어 데이터 수집 애플리케이션 구현.

이와 같이 Streamlit을 사용하면 복잡한 프론트엔드 지식 없이 인터랙티브한 웹 애플리케이션을 쉽고 빠르게 구축할 수 있습니다.

댓글 쓰기