데이터 분석가:Applied Data Analytics

Streamlit 란?

데이터분석 2025. 3. 16. 12:49

Streamlit데이터 과학 및 머신러닝 애플리케이션을 쉽게 만들고 배포할 수 있는 Python 라이브러리입니다.

웹 개발 지식 없이도 Python 코드 몇 줄만으로 대화형 데이터 대시보드 및 웹 앱을 만들 수 있도록 도와줍니다.


Streamlit의 주요 특징

  1. 간단한 코드로 웹 애플리케이션 개발 가능
    • HTML, CSS, JavaScript 같은 웹 기술을 몰라도, Python만 사용해서 웹 앱을 만들 수 있습니다.
    • 예를 들어, Pandas DataFrame을 쉽게 웹에서 표시할 수 있습니다.
  2. 빠른 대시보드 제작
    • Streamlit은 데이터 분석 결과를 빠르게 시각화할 수 있도록 지원합니다.
    • Matplotlib, Plotly, Altair 같은 라이브러리와 쉽게 연동됩니다.
  3. 대화형 UI 제공
    • st.button(), st.slider(), st.selectbox() 같은 간단한 함수로 사용자 입력을 받을 수 있습니다.
  4. 자동 리로드 기능
    • 코드를 변경하면 웹 앱이 자동으로 업데이트됩니다.
  5. 배포가 쉬움
    • Streamlit Cloud(무료)나 Docker, Heroku, AWS 등의 플랫폼을 이용해 쉽게 배포할 수 있습니다.

Streamlit 예제 코드

아래는 간단한 Streamlit 앱을 만드는 예제입니다.

python
복사편집
import streamlit as st
import pandas as pd

# 제목 추가
st.title("Streamlit 간단한 웹 앱")

# 버튼 추가
if st.button("데이터 보기"):
    df = pd.DataFrame({
        "이름": ["철수", "영희", "민수"],
        "나이": [25, 30, 22]
    })
    st.write(df)

실행 방법

  1. Python 가상환경(Anaconda)에서 실행:
  2. sh 복사편집 streamlit run app.py
  3. 웹 브라우저에서 http://localhost:8501에 접속하면 웹 애플리케이션이 실행됩니다.

Streamlit을 어디에 사용할까?

데이터 시각화 대시보드 → Pandas, Matplotlib, Plotly를 활용한 분석 결과 공유

머신러닝 모델 데모 → 사용자가 입력한 데이터로 모델 예측 결과 확인

인터랙티브 데이터 분석 → 슬라이더, 체크박스를 이용한 데이터 필터링

빠른 프로토타이핑 → Flask나 Django보다 빠르게 MVP(최소기능제품) 개발 가능


결론

Streamlit은 데이터 분석, 머신러닝, AI 모델을 쉽게 웹 애플리케이션으로 만들 수 있는 라이브러리입니다.

웹 개발 경험 없이도 Python 코드만으로 인터랙티브한 웹 앱을 빠르게 만들 수 있습니다.

주로 데이터 대시보드, 모델 시각화, 분석 보고서 공유 등에 활용됩니다.

Streamlit을 활용하면 데이터를 효과적으로 시각화하고, 사용자와 상호작용할 수 있는 멋진 웹 애플리케이션을 만들 수 있습니다!