스트림릿(Streamlit)은 데이터 과학자와 머신러닝 엔지니어가 간편하게 웹 애플리케이션을 만들 수 있도록 도와주는 파이썬 라이브러리입니다. 코드 몇 줄로 대시보드를 구축할 수 있어, 복잡한 웹 개발 지식이 없어도 쉽게 사용할 수 있습니다. 이 블로그에서는 스트림릿 대시보드의 기본 설정 방법과 유용한 기능들을 소개하려고 합니다. 이를 통해 여러분도 손쉽게 데이터 시각화를 경험할 수 있을 것입니다. 이제 아래 글에서 자세하게 알아봅시다.
자주 묻는 질문 (FAQ) 📖
Q: 스트림릿 대시보드를 어떻게 설치하나요?
A: 스트림릿을 설치하려면 Python이 설치되어 있어야 합니다. 터미널이나 명령 프롬프트를 열고 ‘pip install streamlit’ 명령어를 입력하면 됩니다. 설치가 완료되면 ‘streamlit hello’를 입력하여 기본 예제를 실행해볼 수 있습니다.
Q: 스트림릿 대시보드를 실행하려면 어떻게 해야 하나요?
A: 대시보드를 실행하려면 먼저 .py 파일에 스트림릿 코드를 작성한 후, 터미널에서 ‘streamlit run 파일명.py’ 명령어를 입력하면 됩니다. 그러면 기본 웹 브라우저에서 대시보드가 열립니다.
Q: 스트림릿에서 사용자 입력을 받는 방법은 무엇인가요?
A: 스트림릿은 다양한 입력 위젯을 제공합니다. 예를 들어, ‘st.text_input()’는 텍스트 입력을 받으며, ‘st.slider()’는 슬라이더를 생성합니다. 이러한 위젯들을 사용하여 사용자로부터 데이터를 입력받고, 이를 바탕으로 대시보드를 동적으로 업데이트할 수 있습니다.
스트림릿 설치하기
파이썬 환경 설정
스트림릿을 사용하기 전에, 먼저 파이썬 환경을 설정해야 합니다. 파이썬은 3.6 이상 버전이 필요하며, 이를 확인하려면 명령 프롬프트나 터미널에서 `python –version` 또는 `python3 –version` 명령어를 입력하면 됩니다. 만약 설치되어 있지 않다면, 공식 파이썬 웹사이트에서 다운로드하여 설치할 수 있습니다. 또한, 가상 환경을 사용하는 것이 좋습니다. 이는 프로젝트 간의 패키지 충돌을 방지하고 관리하기 쉽게 해줍니다.
스트림릿 설치 명령어
스트림릿을 설치하는 과정은 매우 간단합니다. 터미널이나 명령 프롬프트에 다음과 같은 명령어를 입력하면 됩니다:
“`
pip install streamlit
“`
설치가 완료되면, 스트림릿의 버전을 확인하여 정상적으로 설치되었는지 확인할 수 있습니다. 이때 사용할 수 있는 명령어는 `streamlit –version`입니다.
기본적인 파일 구조 만들기
스트림릿 애플리케이션을 만들기 위해서는 먼저 기본적인 파일 구조를 설정해야 합니다. 새로운 폴더를 만들고 그 안에 `app.py`라는 이름의 파이썬 파일을 생성합니다. 이 파일에서 스트림릿 관련 코드를 작성하게 되며, 나중에 실행할 때 이 파일을 지정하게 됩니다.
스트림릿 기본 코드 작성하기
간단한 대시보드 코드
대시보드를 만들기 위해서는 몇 줄의 코드로 시작할 수 있습니다. 예를 들어, 아래와 같이 아주 기본적인 내용으로 시작해볼 수 있습니다.
“`python
import streamlit as st
st.title(“내 첫 번째 스트림릿 대시보드”)
st.write(“안녕하세요! 스트림릿으로 만든 대시보드입니다.”)
“`
위 코드는 제목과 간단한 텍스트를 출력하는 역할을 합니다. 이렇게 간단한 코드로도 웹 애플리케이션의 첫 단계를 밟게 되는 것입니다.
데이터 표시하기
코드에 데이터를 추가하여 좀 더 유용한 정보를 제공할 수도 있습니다. 예를 들어, pandas 라이브러리를 사용하여 데이터프레임 형태로 데이터를 표시할 수 있습니다.
“`python
import pandas as pd
data = {‘컬럼1’: [1, 2, 3], ‘컬럼2’: [‘A’, ‘B’, ‘C’]}
df = pd.DataFrame(data)
st.dataframe(df)
“`
위 코드는 간단한 데이터프레임을 생성하고 이를 대시보드에 표시해줍니다.
차트 시각화 추가하기
데이터 시각화를 통해 사용자에게 보다 직관적인 정보를 제공하는 것도 가능합니다. 스트림릿에서는 matplotlib이나 seaborn 같은 라이브러리를 활용하여 손쉽게 차트를 추가할 수 있습니다.
“`python
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [10, 20, 30]
plt.plot(x,y)
st.pyplot(plt)
“`
위 코드를 통해 간단한 선 그래프를 그릴 수 있으며, 사용자가 데이터를 쉽게 이해하도록 도와줍니다.
인터랙티브 요소 추가하기
슬라이더와 입력 박스 활용하기
대시보드는 정적 정보만 보여주는 것이 아니라 사용자와 상호작용하는 다양한 기능들을 포함할 수 있어야 합니다. 슬라이더나 입력 박스를 사용하면 사용자가 원하는 값을 직접 조정하거나 입력하도록 할 수 있습니다.
“`python
value = st.slider(“값 선택”, 0, 100)
st.write(f”선택한 값: {value}”)
“`
위 코드는 슬라이더를 이용해 특정 범위 내의 값을 선택하게 하며, 선택된 값은 즉시 화면에 반영됩니다.
체크박스와 라디오 버튼 사용하기
사용자에게 여러 옵션 중에서 선택하도록 하는 체크박스 및 라디오 버튼도 유용합니다. 이를 통해 보다 복잡한 로직이나 조건부 결과물을 만들어낼 수 있습니다.
“`python
if st.checkbox(‘체크해 주세요’):
st.write(‘체크되었습니다!’)
option = st.radio(‘옵션 선택’, [‘옵션1’, ‘옵션2′])
st.write(f’선택된 옵션: {option}’)
“`
이렇게 함으로써 사용자 경험을 더욱 풍부하게 만들 수 있습니다.
파일 업로드 기능 추가하기
파일 업로드 기능은 데이터 분석 대시보드에서 자주 사용되는 기능 중 하나입니다. 이를 통해 사용자는 자신의 데이터를 직접 업로드하고 분석 결과를 확인할 수 있게 됩니다.
“`python
uploaded_file = st.file_uploader(“파일 업로드”, type=[“csv”])
if uploaded_file is not None:
data = pd.read_csv(uploaded_file)
st.dataframe(data)
“`
사용자가 CSV 파일을 업로드하면 해당 데이터를 읽어와서 화면에 표시하는 방식으로 구현됩니다.
| 기능 | 설명 |
|---|---|
| 슬라이더 | 사용자가 값을 범위 내에서 선택하도록 함. |
| 체크박스 | 사용자가 특정 옵션을 선택하거나 해제 가능. |
| 파일 업로드 | 사용자가 자신의 데이터를 대시보드에 올려 분석 가능. |
| 라디오 버튼 | 여러 가지 옵션 중 하나를 선택하도록 유도. |
| 데이터프레임 표시 | Pandas 데이터프레임 형태로 데이터 출력. |
| 차트 시각화 | Mpl 또는 Seaborn 라이브러리를 활용하여 데이터 시각화. |
웹 앱 배포하기
Streamlit Sharing 활용하기

대시보드를 완성했다면 이제 다른 사람들과 공유하고 싶겠죠? Streamlit Sharing 서비스를 이용하면 아주 손쉽게 웹 앱을 배포할 수 있습니다. GitHub에 레포지토리를 생성하고 필요한 코드를 커밋한 후 Streamlit Sharing 플랫폼에서 해당 레포지를 연결하면 됩니다.
AWS 또는 Heroku로 배포하기
좀 더 복잡하지만 강력한 배포 옵션으로는 AWS나 Heroku 등의 클라우드 서비스가 있습니다. 이러한 플랫폼들은 스케일링과 보안 측면에서도 유리하므로 큰 규모의 프로젝트에는 적합합니다.
Docker 이미지 생성 및 배포하기
Docker 컨테이너 기술을 활용하여 애플리케이션의 환경 의존성을 줄이고 이식성을 높이는 방법도 고려해볼 만합니다. Dockerfile과 docker-compose.yml 파일 등을 작성하여 패키징 후 다양한 환경에서 쉽게 실행 가능하게 할 수 있습니다.
위 내용을 바탕으로 여러분도 손쉽게 스트림릿 대시보드를 구축하고 배포해 보세요!
글의 마무리
스트림릿은 데이터 시각화와 대시보드 구축을 손쉽게 할 수 있는 강력한 도구입니다. 본 가이드를 통해 스트림릿의 설치부터 기본적인 코드 작성, 인터랙티브 요소 추가 및 배포 방법까지 배워보았습니다. 다양한 기능을 활용하여 사용자 친화적인 대시보드를 만들어 보세요. 여러분의 창의력을 발휘하여 멋진 프로젝트를 완성하시길 바랍니다!
참고하면 좋은 정보
1. Streamlit 공식 문서: 스트림릿의 다양한 기능과 API를 확인할 수 있습니다.
2. GitHub Repository: 다른 개발자들이 만든 스트림릿 앱을 참고하고 영감을 받을 수 있습니다.
3. 유튜브 강좌: 스트림릿 사용법에 대한 동영상 튜토리얼로 이해도를 높일 수 있습니다.
4. 커뮤니티 포럼: 스트림릿 관련 질문이나 문제 해결을 위한 도움을 받을 수 있는 곳입니다.
5. 데이터 시각화 라이브러리 문서: Matplotlib, Seaborn 등과 같은 데이터 시각화 라이브러리에 대한 자료를 찾아볼 수 있습니다.
주요 내용 요약 및 정리
스트림릿은 파이썬 기반의 웹 애플리케이션 프레임워크로, 데이터 분석 결과를 대시보드 형태로 쉽게 시각화할 수 있도록 돕습니다. 설치 후 기본적인 파일 구조를 설정하고, 간단한 코드로 대시보드를 구현할 수 있습니다. 사용자와 상호작용할 수 있는 다양한 요소(슬라이더, 체크박스 등)를 추가하여 보다 풍부한 경험을 제공하며, Streamlit Sharing, AWS 또는 Heroku 등을 통해 쉽게 배포할 수 있습니다.











