개발학습일지

[Python] Streamlit UI 함수들 _ selectbox(), multiselect(), slider(), info(), expander() 본문

Python/Streamlit

[Python] Streamlit UI 함수들 _ selectbox(), multiselect(), slider(), info(), expander()

처카푸 2024. 4. 25. 00:25

Streamlit 라이브러리에 있는 UI 함수들

 

UI 란?

사용자 인터페이스 또는 유저 인터페이스(영어: user interface, UI)는 

사람(사용자)과 사물 또는 시스템, 기계, 컴퓨터 프로그램 등 사이에서 의사소통을 할 수 있도록

일시적 또는 영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체이다

 

UI 함수들을 사용하기 위한 라이브러리 임포트

import streamlit as st
import pandas as pd

 

 

시작 과 끝

def main() :

if __name__ == "__main__" :
    main()

 

셀렉트박스 selectbox()

- 여러개에서 한개만 고르게 한다

- 리스트가 많을 경우 사용한다.

    language = ['Python','C','Java','Go','PHP','Dart']
    my_choice = st.selectbox('좋아하는 언어를 선택하세요.', options= language)
	
    # if 문으로 선택했을 때 출력되는 텍스트를 작성해준다
    if my_choice == language[0] or my_choice == language[2]:
        st.text('정말 재미 있는 언어입니다.')
    elif my_choice == language[3] or my_choice == language[5] :
        st.text('배우고 싶습니다')
    else :
        st.text('오래된 언어입니다')

selectbox

 

다중선택박스 multiselect()

- 여러 개 중에서, 여러 개를 선택하게 할 경우 사용한다

    choice_list = st.multiselect('원하는 컬럼을 선택하세요', df.columns)
    
    # 아무것도 선택안하면, 아무것도 나오지 않게하기 위해
    # 비어 있는 리스트 기호를 사용한다 : == [], == list(), 반대 != 0 
    if len(choice_list) == 0 :
        st.write()
    else :
        st.dataframe(df[choice_list])

multiselect

 

슬라이더 slider()

- 숫자 조정하는 것에 주로 사용된다

정보 전달 info() : 파란색으로 글씨 작성된다

   # slider(label= , 처음시작숫자, 마지막숫자, 처음지정값, 숫자사이의 거리)
   st.slider('데이터 선택', -5.0, 10.5, 0.0, 0.5)
    
    # 나이를 슬라이더로 입력받는다
    # 1세부터 120세 까지 입력받을 수 있도록 한다
    # 선택한 나이가 웹화면에 출력되도록 한다 "선택한 나이는 33세 입니다"
    
    # 유저한테 입력받은 값을 변수로 저장
    age = st.slider('나이를 선택하세요', 1, 120, 1, 1)
	
    # format 함수 사용하여 info 작성
    st.info(f'선택한 나이는 {age}세 입니다')

slider

 

익스펜더 expander()

- 누르면 확장되는 방식의 프레임 (클릭하면 숨겨진 영역 나온다)

	# 다 같이 나와서 with 사용
	with st.expander('Hello'):
        st.text('데이터 프레임입니다')
        st.dataframe(df)

expander