[TIL] 내일배움캠프 79일차_[Streamlit] Streamlit 사용법
👀Today I Learn
1. Streamlit
- Streamlit은 Python 기반의 오픈 소스 웹 애플리케이션 프레임워크로, 데이터 시각화 및 대화형 애플리케이션을 손쉽게 개발할 수 있는 도구
- 특히 머신러닝, 데이터 분석, 대시보드 구축에 최적화되어 있으며, 몇 줄의 코드만으로 웹 애플리케이션을 실행할 수 있음
왜 Streamlit을 사용할까?
- 간편한 사용: Flask나 Django처럼 복잡한 설정 없이 빠르게 웹 애플리케이션을 만들 수 있음
- 빠른 개발 속도: 몇 줄의 코드로 인터랙티브한 UI를 구현할 수 있음
- 데이터 시각화 지원: matplotlib, seaborn, plotly 같은 라이브러리와 쉽게 통합
- 자동 리로드: 코드 수정 후 자동으로 업데이트되어 개발 과정이 편리
2. 설치 및 기본 사용법
Streamlit 설치
- Streamlit을 사용하려면 Python 환경이 필요
-
아래 명령어로 Streamlit을 설치할 수 있음
pip install streamlit
-
Streamlit이 정상적으로 작동하는지 확인
streamlit hello
- 위 명령어를 실행하면 기본 데모 페이지가 나타남
첫 번째 Streamlit 앱 만들기
- 아래와 같이 app.py 파일을 생성한 후 실행
import streamlit as st
st.title("Hello, Streamlit! 🎈")
st.write("이것은 간단한 Streamlit 웹 애플리케이션입니다.")
3. Streamlit의 주요 기능
텍스트 출력하기
st.text("이것은 일반 텍스트입니다.")
st.markdown("**이것은 마크다운 텍스트입니다.**")
st.code("print('Hello, World!')", language="python")
사용자 입력 받기
name = st.text_input("이름을 입력하세요")
age = st.number_input("나이를 입력하세요", min_value=0, max_value=100)
agree = st.checkbox("이용약관에 동의합니다.")
if agree:
st.write(f"{name}님, 환영합니다! 당신의 나이는 {age}살입니다.")
버튼 및 상호작용
if st.button("클릭하세요"):
st.write("버튼이 클릭되었습니다!")
데이터 시각화
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
"x": range(1, 11),
"y": [v ** 2 for v in range(1, 11)]
})
st.line_chart(df)
fig, ax = plt.subplots()
ax.plot(df["x"], df["y"], marker="o")
st.pyplot(fig)
파일 업로드
uploaded_file = st.file_uploader("파일을 업로드하세요", type=["csv", "txt"])
if uploaded_file is not None:
df = pd.read_csv(uploaded_file)
st.write(df)
4. 배포하기
- Streamlit은 자체적으로 배포 도구를 제공
- Streamlit Community Cloud를 활용하면 무료로 배포할 수도 있음
- Streamlit Cloud에 배포하는 방법
- GitHub 저장소에 코드 업로드
- Streamlit Community Cloud(streamlit.io)에 로그인
- GitHub 저장소와 연동하여 배포
- 배포 후에는 URL이 생성되며, 누구나 웹 애플리케이션을 사용할 수 있음
💡Today I Thought
오늘의 체크리스트
- 알고리즘 코드카타 360
- SQL 코드카타 113
- Streamlit & LLM 복습
- TIL 작성
회고
오늘도 끝! 오늘 Streamlit 처음 해봤는데, 진짜 재미있었다. 내일도 더 만져봐야지. DRF를 사용해서 Streamlit을 하니까 진짜 신기했던..🫠
댓글남기기