2024년 10월 23일 수요일

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을 사용하면 복잡한 프론트엔드 지식 없이 인터랙티브한 웹 애플리케이션을 쉽고 빠르게 구축할 수 있습니다.