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
를 이용해 사용자가 선택한 값에 따라 동적으로 변하는 대시보드를 손쉽게 만들 수 있습니다.