반응형
Streamlit 문법:
- 모두 main() 함수 안에서 적용이 된다.
import pstats import streamlit as st import pandas as pd def main(): df = pd.read_csv('data2/iris.csv') |
버튼 만들기: st.button()
ex) '대문자' 버튼을 만들고, 버튼을 누르면, species 컬럼의 값들을 대문자로 변경한 데이터 프레임을 보여주세요.
if st.button('대문자'): df['species'] = df['species'].str.upper() st.dataframe(df) |
ㄴ 버튼을 누르면/마우스로 클릭하면 버튼이 True가 된다.
라디오 버튼: st.radio()
- 여러개중에 한개 선택할 때
my_order = ['오름차순 정렬','내림차순 정렬'] status = st.radio('정렬방법 선택',my_order) if status == my_order[0]: st.dataframe(df.sort_values('petal_length')) elif status == my_order[1]: st.dataframe(df.sort_values('petal_length',ascending=False)) |
- 오름차순 정렬, 내림차순 정렬, 여러개 저장하는 건 리스트
- df.sort_values('petal_length',ascending=False)
- petal_length 컬럼을 오름차순으로 정렬해서 화면에 출력
- df.sort_values('petal_length')
- df를 저장해서 하는 방법도 있다.
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) |
체크박스: st.checkbox()
- 체크 해제/체크
if st.checkbox('헤드 5개 보기'): st.dataframe(df.head()) else: st.text('헤드 숨겼습니다.') |
셀렉트박스: st.selectbox()
- 여러개에서 고르는 UI
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('자바 선택') |
멀티셀렉트: st.multiselect()
- 여러개 중에서, 여러개 선택하는 UI
language = ['Python','C','Java','Go','PHP'] st.multiselect('여러개 선택가능',language) |
ex) 유저에게, iris df의 컬럼들을 다 보여주고, 유저가 선택한 컬럼들만, 데이터프레임을 화면에 보여줄것
- 멀티 셀렉트를 이용해서, 특정 컬럼들만 가져오기
column_lsit = df.columns choice_list = st.multiselect('컬럼을 선택하세요', column_lsit) st.dataframe(df[choice_list]) |
반응형