Streamlit selectbox를 사용하기
Streamlit selectbox를 사용하기
Streamlit은 데이터 시각화와 대시보드 제작을 손쉽게 할 수 있는 파이썬 라이브러리로, 인터랙티브한 위젯을 제공하여 사용자 경험을 크게 향상시킬 수 있습니다. 이번 포스팅에서는 selectbox
위젯을 활용하여 사용자가 선택한 값에 따라 동적으로 변하는 대시보드를 만드는 방법을 알아보겠습니다.
selectbox
란?
selectbox
는 드롭다운 메뉴를 제공하여 사용자가 리스트에서 하나의 항목을 선택할 수 있도록 하는 Streamlit의 위젯입니다. 이를 통해 사용자가 선택한 값에 따라 다른 데이터를 표시하거나, 특정 기능을 수행하도록 만들 수 있습니다.
기본 사용법
먼저 selectbox
를 사용하기 위해서는 Streamlit 라이브러리를 설치하고, 필요한 모듈을 불러와야 합니다.
pip install streamlit
import streamlit as st
이제 selectbox
의 기본 구조와 사용법을 살펴보겠습니다.
import streamlit as st
# Selectbox 기본 사용 예제
= st.selectbox(
option '당신이 가장 좋아하는 색깔은 무엇인가요?',
'빨간색', '파란색', '녹색')
(
)
'당신이 선택한 색깔:', option) st.write(
위 코드는 사용자가 ‘빨간색’, ‘파란색’, ‘녹색’ 중 하나를 선택할 수 있는 드롭다운 메뉴를 보여줍니다. 사용자가 항목을 선택하면, 선택된 값이 option
변수에 저장되고, st.write()
를 통해 선택한 값이 화면에 출력됩니다.
selectbox
의 주요 매개변수
selectbox
는 다음과 같은 주요 매개변수를 가집니다:
- label: 사용자에게 보여질 설명 텍스트입니다.
- options: 사용자가 선택할 수 있는 항목들의 리스트입니다.
- index: 선택된 항목 중 기본적으로 선택될 항목의 인덱스입니다.
- key: 위젯의 고유 키입니다. 동일한 위젯이 여러 번 사용될 때 필요합니다.
다음은 각 매개변수에 대해 설명한 예제입니다:
import streamlit as st
# selectbox의 다양한 매개변수 사용 예제
= st.selectbox(
option '좋아하는 과일을 선택하세요:',
'사과', '바나나', '오렌지', '포도'],
[=1, # 기본값으로 '바나나'를 선택
index='fruit_select' # 위젯의 고유 키 설정
key
)
'선택한 과일:', option) st.write(
이 예제에서는 ’바나나’가 기본적으로 선택된 항목으로 설정되어 있으며, 사용자가 선택한 과일 이름이 화면에 출력됩니다.
예제: selectbox
를 사용한 대시보드
이제 selectbox
를 사용하여 선택된 항목에 따라 데이터를 다르게 보여주는 간단한 대시보드를 만들어보겠습니다.
import streamlit as st
import pandas as pd
# 데이터 생성
= {
data '과일': ['사과', '바나나', '포도', '오렌지'],
'가격': [1200, 800, 1800, 1000],
'재고량': [15, 25, 10, 20]
}
= pd.DataFrame(data)
df
# selectbox를 사용하여 과일 선택
= st.selectbox('과일을 선택하세요:', df['과일'])
fruit
# 선택한 과일의 정보를 표시
= df[df['과일'] == fruit]
selected_fruit_info '선택한 과일의 정보:', selected_fruit_info) st.write(
이 코드는 사용자가 과일을 선택하면, 선택한 과일의 가격과 재고량 정보를 데이터프레임 형태로 표시해줍니다. 이처럼 selectbox
를 이용해 사용자가 선택한 값에 따라 동적으로 변하는 대시보드를 손쉽게 만들 수 있습니다.
<h3>카테고리 다른 글</h3>
Date | Title | Author |
---|---|---|
Jan 1, 3000 | 전체 카테고리 | |
Sep 21, 2024 | Streamlit 멀티 select 사용하기 | |
Sep 19, 2024 | Streamlit fragments 사용하기 | |
Sep 19, 2024 | Streamlit form 사용하기 | |
Sep 19, 2024 | Streamlit 데이터프레임 수정하기 | |
Sep 19, 2024 | Streamlit fragments 사용하기 | |
Sep 18, 2024 | Streamlit docker로 배포하기 | |
Sep 18, 2024 | Streamlit 실시간 업데이트 사용하기 | |
Sep 18, 2024 | Streamlit에서 다이얼로그 사용하기 | |
Sep 18, 2024 | Streamlit의 유지보수와 디버깅 팁 | |
Sep 17, 2024 | Streamlit cache_resource 사용하기 | |
Sep 16, 2024 | Streamlit cache 사용하기 | |
Sep 15, 2024 | Streamlit 데이터프레임 선택하기 | |
Sep 14, 2024 | Streamlit 다중 page 구성하기 | |
Sep 13, 2024 | Streamlit Session_state 사용하기 | |
Sep 12, 2024 | Streamlit을 활용한 기본 시각화 도구 | |
Sep 12, 2024 | Streamlit에 Plotly 차트 적용하기 | |
Sep 11, 2024 | Streamlit에서 파일 업로드하기 | |
Sep 11, 2024 | Streamlit에 SQLite 데이터베이스 적용 | |
Sep 10, 2024 | Streamlit UI 컴포넌트 소개 | |
Sep 9, 2024 | Streamlit 사용 사례 | |
Sep 9, 2024 | Streamlit 설치 및 환경설정 | |
Sep 9, 2024 | Streamlit 애플리케이션 구조 이해 | |
Sep 9, 2024 | Streamlit layout 설정하는 방법 | |
Sep 8, 2024 | Streamlit이란 무엇인가요? | |
Sep 6, 2024 | Streamlit Cloud로 앱 배포하기 |