Streamlit/이론

141. [Python] [Streamlit] : Streamlit(스트림릿) 다양한 UI 함수 (1)

천재단미 2025. 2. 3. 12:31
728x90
반응형

반응형

 

 

 

 

 

 

 

 

 

 

1. 웹 서버를 구동하는 코드

 

# 스트림릿 라이브러리를 사용하여 웹 서버를 구동하는 코드
import streamlit as st

def main():
    pass
    
    
if __name__ == '__main__':
    main()



 


 

 

 

2. 글자 출력하기

 
 

 

st.title() : 제목같은 큰 글씨
st.subheader() : 제목보다 작은 글씨
st.text() : 기본 작은 글씨

st.success() :  성공 확인 나타내는 글씨

st.info() : 정보 확인 

st.error() :  에러 표시

 

    st.title('Hello, Streamlit!')

    st.subheader('작은 제목')
    st.text('일반 텍스트')
    st.success('무엇인가 잘되었음을 글자로 나타낼때')
    st.info('정보입니다.')
    st.error('에러입니다.')

    name = '홍길동'
    f'제이름은 {name} 입니다.'

 

출력

 

 

 


 

 

 

 

3. 데이터프레임(DataFrame) 출력하기

 
 

st.dataframe()

 

데이터프레임을 출력할때는 스트림릿의 dataframe() 함수 이용합니다.

뒤에 변수명 df는 CSV 파일을 불러오는 명령어가 담긴 변수입니다.

 

   import pandas as pd
   
   
   df = pd.read_csv('data/iris.csv') # CSV 파일 불러오고 df 변수에 저장

    st.dataframe(df)

    species = df['species'].unique()

    st.text('아이리스 꽃은 ' + species + '으로 되어있다.')

    df.head()

    st.dataframe( df.head() )
    st.write( df.head() )

 

출력

 

  TIP💡 

 

st.dataframe(   )  대신  st.write(  )  로도 사용할 수 있습니다.

 

 

 

 

 


 

 

 

4. 버튼(button) 만들기

 



 

st.button()

 

스트림릿의 button() 함수를 이용해 버튼을 만들수 있습니다.

버튼을 누르면 True를 리턴합니다

 

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

    st.title('버튼 만들기')

    st.button('버튼 클릭!')

    # 버튼을 누르면, 데이터 프레임을 보여주세요.
    st.dataframe( df)

 

 

출력

 

 

4-1. 응용 (대문자변환)

# "대문자" 버튼을 만들고

# 버튼을 누르면, species 컬럼의 값들을 대문자로 변경한

# 데이터 프레임을 보여주세요.

 

import streamlit as st
import pandas as pd

def main() :

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


    if st.button('대문자') :
        df['species'] = df['species'].str.upper()
        st.dataframe(df)

if __name__ == "__main__" :
    main()

 

 

 

출력

 

 

 

 

 

 


 

 

 

 

5. 라디오(radio) 버튼 만들기



 

st.radio()

 

라디오 버튼은 여러개 중에서 하나를 선택할때 사용합니다.

radio() 함수를 이용!

 

라디오버튼을 클릭하면 클릭했을때 나타나는 문자열을 리턴해 줍니다.

 

# UI 관련된 함수들 소개
import streamlit as st
import pandas as pd

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

    st.title('버튼 만들기')

    st.button('버튼 클릭!')

    # 버튼을 누르면, 데이터 프레임을 보여주세요.
    st.dataframe( df)

    # 라이오버튼 : 여러개의 선택지 중에서 하나만 선택할 수 있는 버튼
    st.radio('가장 좋아하는 꽃은?', ['빨강','노랑','파랑'])

    # 라이오버튼을 만들되
    #오름차순정렬, 내림차순 정렬을 선택할 수 있게 만들어보자.
    my_choice = st.radio('petal_length 정렬 방식을 선택하세요', ['오름차순','내림차순'])
    if my_choice == '오름차순' :
        st.dataframe(df.sort_values(by='petal_length'))
    else :
        st.dataframe(df.sort_values(by='petal_length', ascending=False))


   
if __name__ == '__main__':
    main()

 

 

출력

 

 

 

 

 

 

728x90
반응형
home top bottom
}