📝Python Streamlit 위젯 만들기(UI함수 사용)
버튼 button
라디오 버튼 radio
체크박스 checkbox
셀렉트박스 selectbox
다중선택박스 multiselect
슬라이더 slider
익스펜더 expander
import streamlit as st
import pandas as pd
버튼 button
def main() :
df = pd.read_csv('streamlit_data/iris.csv')
# 버튼을 클릭하면 데이터프레임이 보이도록 만들기
if st.button('데이터프레임 보기') :
st.dataframe(df)
라디오 버튼 radio
def main() :
status = st.radio('정렬을 선택하세요', ['오름차순 정렬','내림차순 정렬'])
if status == '오름차순 정렬' :
# df의 petal_length 컬럼을 오름차순으로 정렬해서 보여주기
st.dataframe(df.sort_values('petal_length'))
elif status == '내림차순 정렬' :
# df의 petal_length 컬럼을 내림차순으로 정렬해서 보여주기
st.dataframe(df.sort_values('petal_length', ascending=False))
체크박스 checkbox
# 체크 박스를 체크하면 데이터프레임이 나오고 해제하면 데이터 프레임이 나오지 않게 만들기
def main() :
if st.checkbox('show/hide') :
st.dataframe(df)
else :
st.write('')
셀렉트박스 selectbox
def main() :
language = ['Python', 'C', 'JAVA', 'PHP', 'GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요', language)
다중선택박스 multiselect
def main() :
selected_list = st.multiselect('원하는 컬럼을 선택하세요',df.columns)
# 유저가 컬럼을 선택하면 해당 컬럼을 화면에 보여주고 아무 컬럼도 선택하지 않으면 데이터 프레임 보여주지 않는다
if len(selected_list) == 0 :
st.write('')
else :
st.dataframe(df[selected_list])
슬라이더 slider
def main() :
age = st.slider('나이', 1, 100)
st.text('당신이 선택한 나이는 ' + str(age) + '입니다')
st.slider('데이터', 1, 100, step= 5)
st.slider('데이터', 1, 200, value=75) # value= 설정시 기본값이 75로 셋팅됨
st.slider('데이터', 0.0, 1.0, step=0.1) # int와 flot 함께 사용 불가
익스펜더 expander
※ 익스펜더는 누르면 확장되는 방식의 프레임 (클릭하면 숨겨진 영역을 볼 수 있다)
def main() :
with st.expander('hello') :
st.text('안녕하세요')
'Python > Streamlit' 카테고리의 다른 글
[Python] Streamlit 유저한테 데이터 입력 받기 (0) | 2022.12.13 |
---|---|
[Python] Streamlit 이미지, 동영상 파일 추가하기 Image, open (0) | 2022.12.12 |
[Python] Streamlit 웹 화면에 DataFrame 보여주기 (0) | 2022.12.12 |
[Python] Streamlit 제목, 텍스트 설정 (0) | 2022.12.12 |
[Python] Streamlit 설치, 실행 (0) | 2022.12.12 |
댓글