Streamlit을 사용한 웹대시보드에서 표시 할 다양한 상호작용 버튼 사용법을 알아보자.
import streamlit as st
import pandas as pd
1. button()
버튼을 클릭하지 않으면 False, 클릭하면 True를 반환한다.
df = pd.read_csv('streamlit_data/iris.csv')
# 버튼을 클릭하면, 데이터프레임이 보이도록 만들기.
if st.button('데이터프레임 보기'):
st.dataframe(df)
name = 'Mike'
if st.button('대문자로'):
st.text(name.upper())
2. radio()
여러 선택지 중 하나를 선택
status = st.radio('정렬을 선택하세요', ['오름차순정렬', '내림차순정렬'])
if status == '오름차순정렬':
# df의 petal_length 컬럼을 기준으로 오름차순으로 정렬해서 보여주세요
st.dataframe(df.sort_values('petal_length',ascending=True))
elif status == '내림차순정렬':
st.dataframe(df.sort_values('petal_length',ascending=False))
3. checkbox()
체크하면 True, 체크하지 않으면 False
# 체크박스를 체크하면, 데이터프레임이 나오고,
# 해체하면, 데이터프레임이 나오지 않게
if st.checkbox('show/hide'):
st.dataframe(df)
4. selectbox()
여러 개의 목록 중에 하나를 선택
language = ['Python', 'C', 'JAVA', 'PHP', 'GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요', language)
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
st.text(f'저는 {my_choice} 언어를 가장 좋아합니다.')
st.write('저는 {} 언어를 가장 좋아합니다.'.format(my_choice))
5. multiselect()
여러 개의 목록 중에 여러 개를 선택, 선택한 것들의 리스트를 반환
seleted_list = st.multiselect('원하는 컬럼을 선택하세요', df.columns)
# 유저가 컬럼을 선택하면, 해당 컬럼을 화면에 보여주고,
# 유저가 아무컬럼도 선택하지 않으면, 데이터프레임 보여주지 않는다.
if seleted_list == []:
pass
else:
st.dataframe(df[seleted_list])
slider()
숫자를 조정하는데 주로 사용
age = st.slider('나이', 1, 100)
st.text('당신이 선택한 나이는 ' + str(age) + '입니다.')
expander()
누르면 숨겨져 있던 작업을 보여준다. with와 함께 쓴다.
with st.expander('hello'):
st.text('안녕하세요~')
'Streamlit' 카테고리의 다른 글
Streamlit - 유저에게 데이터를 입력 받는 방법 (0) | 2022.12.14 |
---|---|
Streamlit - 웹 대시보드에 이미지, 비디오, 오디오 올리기 (0) | 2022.12.14 |
Streamlit의 다양한 UI 함수들(2) - 데이터프레임을 웹화면에 보여주기 (0) | 2022.12.12 |
Streamlit의 다양한 UI 함수들(1) - 글자 출력 (0) | 2022.12.12 |
Streamlit - Visual Studio Code의 Terminal을 이용해 streamlit 실행하는 법 (0) | 2022.12.12 |