
스트림릿(streamlit)의 다양한 UI 함수들 정리 1

| 바로가기 리스트!! | |
| 글자 출력하기 | 파이썬 데이터프레임 출력 [Dataframe] | 
| 버튼 만들기 [Button] | 라디오 버튼 만들기 [Radio Button] | 
| 체크 박스 만들기 [Check Box] | 셀렉트 박스 만들기 [select Box] | 
1. 글자 출력하기
| st.title() : 제목같은 큰 글씨 | 
| st.subheader() : 제목보다 작은 글씨 | 
| st.text() : 기본 작은 글씨 | 
import streamlit as st
def main() :
    st.title('웹 대시보드')
    name = '주일룡'
    st.text('제 이름은 {} 입니다.'.format(name)) # 작은 글씨
    st.header('이 영역은 헤더 영역')  # 제목같은 큰 글씨
    st.subheader('이 영역은 subheader영역')  # 제목보다는 작은 글씨
    st.success('작업이 성공했을때 사용하자')         # 녹색 영역
    st.warning('경고 문구를 보여주고 싶을때 사용하자')   # 노란색 영역
    st.info('정보를 보여주고 싶을때 사용하자')  # 파란색 영역
    st.error('문제가 발생했을때 사용')  # 레드 영역
    # 파이썬의 함수 사용법을 보여주고 싶을때
    st.help(sum)  # 함수 설명을 보여주고 싶을때 (sum)
    st.help(len)
if __name__ == '__main__' :
    main()
[결과]

2. 데이터프레임(DataFrame) 출력하기
| st.dataframe() | 
데이터프레임을 출력할때는
스트림릿의 dataframe() 함수를
이용합니다.
뒤에 변수명 df는
CSV 파일을 불러오는
명령어가 담긴 변수입니다.
import streamlit as st # 스트림릿 호출
import pandas as pd    # 판다스 호출
def main() :
    df = pd.read_csv('data2/iris.csv') # CSV 파일 불러오고 df 변수에 저장
    st.dataframe(df)
    species = df['species'].unique()
    st.text('아이리스 꽃은 ' + species + '으로 되어있다.')
    df.head()
    st.dataframe( df.head() )
    st.write( df.head() )
if __name__ == '__main__' :
    main()
웹에서 데이터프레임 데이터를
5개까지 보여주기는
st.dataframe( df.head() ) 코딩!
이는 st.write( df.head() ) 로도
사용할 수 있습니다.
[결과]

3. 버튼(button) 만들기
| st.button() | 
스트림릿의 button() 함수를 이용해
버튼을 만들수 있습니다.
버튼을 누르면 True를 리턴합니다.
import streamlit as st
def main() :
    st.title('버튼 만들기')
    st.button('버튼 클릭!')
if __name__ == "__main__" :
    main()
[결과]

ex) 응용하기!
'대문자' 버튼을 누르면
species 컬럼의 값들을 대문자로
변경한 데이터프레임을 보여줍니다.
import streamlit as st
import pandas as pd
def main() :
    df = pd.read_csv('data2/iris.csv')
    st.dataframe(df)
    # "대문자" 버튼을 만들고
    # 버튼을 누르면, species 컬럼의 값들을 대문자로 변경한
    # 데이터 프레임을 보여주세요.
    if st.button('대문자') :
        df['species'] = df['species'].str.upper()
        st.dataframe(df)
if __name__ == "__main__" :
    main()
[결과]

4. 라디오(radio) 버튼 만들기
| st.radio() | 
라디오 버튼은 여러개 중에서
하나를 선택할때 사용합니다.
radio() 함수를 이용!
라디오버튼을 클릭하면
클릭했을때 나타나는 문자열을
리턴해 줍니다.
import streamlit as st
import pandas as pd
def main() :
    df = pd.read_csv('data2/iris.csv')
    # st.dataframe(df)
    my_order = ['오름차순정렬', '내림차순정렬']
    
    status = st.radio('정렬방법 선택', my_order)
    # 첫번째 방법
    if status == my_order[0] :
        # petal_length 칼럼을 오름차순으로 정렬해서 화면에 보여준다.
        # df.sort_values('petal_length')
        st.dataframe(df.sort_values('petal_length'))
    elif status == my_order[1] :
        # df.sort_values('petal_length', ascending=False)
        st.dataframe(df.sort_values('petal_length', ascending=False))
    # 두번째 방법 (버튼을 똑같은거 쓰면 에러남)
    status = st.radio('정렬방법 선택2', my_order)
    
    if status == my_order[0] :
        # petal_length 칼럼을 오름차순으로 정렬해서 화면에 보여준다.
        df = df.sort_values('petal_length')
        st.dataframe(df)
    elif status == my_order[1] :
        df = df.sort_values('petal_length', ascending=False)
        st.dataframe(df)
if __name__ == "__main__" :
    main()
위 코딩에서 첫번째 방법, 두번째 방법
결과는 모두 같습니다.
[결과]
5. 체크박스 만들기
| st.checkbox() | 
스트림릿의 checkbos() 함수를
이용합니다.
체크 해제/ 체크
두 동작중 하나를 합니다.
체크하면 True 가 됩니다.
True/False 값을 리턴 합니다.
import streamlit as st
import pandas as pd
def main() :
    df = pd.read_csv('data2/iris.csv')
    # st.dataframe(df)
    # 체크박스 : 체크 해제/ 체크
    # 두개 동작중 하나를 한다. 체크하면 TRUE가 된다.
    if st.checkbox('헤드 5개 보기') :
        st.dataframe( df.head() )
    else :
        st.text('헤드 숨겼습니다.')
if __name__ == "__main__" :
    main()
[결과]
6. 셀렉트박스 만들기
| st.selectbox() | 
셀렉트박스튼 여러개 중에서
1개만 고르는 UI 입니다.
선택한 문자열을 리턴합니다.
import streamlit as st
def main() :
    language = ['Python', 'C', 'Java', 'Go', 'PHP']
    my_choice = st.selectbox('좋아하는 언어 선택', language)
    if my_choice == language[0] :
        st.write('파이썬을 선택하셨습니다.')
    elif my_choice == language[1] :
        st.write('C언어를 선택하셨습니다.')
    elif my_choice == language[2] :
        st.write('자바를 선택하셨습니다')
    elif my_choice == language[3] :
        st.write('Go를 선택하셨습니다')
    elif my_choice == language[4] :
        st.write('PHP를 선택하셨습니다')       
if __name__ == "__main__" :
    main()
[결과]

힐링아무의 코딩일기 힐코딩!
'Python > Streamlit' 카테고리의 다른 글
| Data Dashboard App(데이터 대시보드 앱)을 개발하는 순서 (0) | 2022.05.20 | 
|---|---|
| 스트림릿(streamlit)의 다양한 UI 함수들 정리 2 - 멀티셀렉트/슬라이더, 익스펜더 만들기/이미지,동영상,오디오파일 출력/유저한테 입력받기 (0) | 2022.05.20 | 
| 비주얼 스튜디오 코드의 터미널을 이용해서 스트림릿 실행하는 방법 (0) | 2022.05.19 | 
| Streamlit(스트림릿) 설치 방법 (0) | 2022.05.19 | 
| 소스코드 버전 관리를 위한, Git과 Github.com 사용법 (0) | 2022.05.19 | 



 
										
									 
										
									 
										
									 
										
									
댓글