개발학습일지

[Python] Streamlit UI 함수들 _ button(), radio(), checkbox() 본문

Python/Streamlit

[Python] Streamlit UI 함수들 _ button(), radio(), checkbox()

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

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

 

UI 란?

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

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

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

 

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

import streamlit as st
import pandas as pd

 

버튼 button()

# 처음 시작 함수
def main() :

    df = pd.read_csv('./data/iris.csv')

    # 버튼을 클릭하면 데이터프레임을 보여준다
    if st.button('데이터프레임 보기') :
        st.dataframe(df)
    
    # 응용. '대문자' 버튼을 만들고 
    # 문자열 컬럼의 값들을 대문자로 변경한 데이터프레임 만들기
    if st.button('대문자') :
    	st.dataframe(df['species'].str.upper())
    else :
        st.text('버튼을 눌러주세요')

# 마지막에 적어주는 코드
if __name__ == "__main__" :
    main()

button

 

라디오 버튼 radio()

- 여러 개 중에 한 개를 선택하게 할 경우 사용하는 함수이다

    # 선택사항 만들 레이블 리스트로 만들기
    my_order = ['오름차순 정렬','내림차순 정렬']
    # radio(label= , option= ) 유저한테 받을 정보 변수에 저장
    status = st.radio(label='정렬방법 선택하세요', options = my_order)

    # df의 한개의 컬럼을 정렬해서 데이터프레임으로 보여준다.
    # 리스트의 인덱스로 작성하면 나중에 유지보수에 좋다
    if status == my_order[0] :
        st.dataframe(df.sort_values('petal_length', ascending=True))
    elif status == my_order[1] :
        st.dataframe(df.sort_values('petal_length', ascending=False))

radio

 

체크박스 checkbox()

    # 체크박스 : 둘 중에 하나만 선택하게 만들때. (체크 / 해제)
    # 체크하면, 헤드 5개 보여주고, 해제하면 안보여주도록,
    if st.checkbox('헤드 5개 보기') :
        st.dataframe(df.head(5))

checkbox