군침이 싹 도는 코딩
스트림릿의 다양한 UI 함수 2 (dataframe,button,radio,checkbox,selectbox,multiselect,slider,expender) 본문
Python/Streamlit
스트림릿의 다양한 UI 함수 2 (dataframe,button,radio,checkbox,selectbox,multiselect,slider,expender)
mugoori 2022. 12. 12. 17:18import streamlit as st
import pandas as pd
df = pd.read_csv('streamlit_data/iris.csv')
st.dataframe(df)
# 데이터 프레임을 가져오는 함수
사용법은 임폴트로 스트림릿과 판다스를 임폴트 한 뒤
판다스의 read_csv 로 데이터 프레임을 가져오고
스트림릿의 dataframe() 함수를 사용해 화면에 출력한다
def main() :
df = pd.read_csv('streamlit_data/iris.csv')
# 버튼을 클릭하면, 데이터프레임이 보이도록 만들기.
if st.button('데이터프레임 보기') :
st.dataframe(df)
# 화면에 클릭할수 있는 버튼을 출력해주는 함수
st.button 을 사용해서 만들수있다
status = st.radio('정렬을 선택하세요',['오름차순정렬','내림차순정렬'])
if status == '오름차순정렬' :
# df 의 petal_length 컬럼을 오름차순으로 정렬해서 보여주세요
st.dataframe(df.sort_values('petal_length'))
elif status == '내림차순정렬' :
# df 의 petal_length 컬럼을 내림차순으로 정렬해서 보여주세요
st.dataframe(df.sort_values('petal_length' ,ascending=False))
# 라디오는 버튼을 여러개 만들수 있으며 선택은 하나만 할 수 있다
위 코드블럭에서는 오름차순 선택하면 오름차순 내림차순 선택하면
내림차순으로 정렬하게 만들었다
# 체크박스를 체크하면, 데이터프레임이 나오고,
# 해제하면, 데이터프레임 나오지 않게
if st.checkbox('show / hide') :
st.dataframe(df)
else :
st.write('')
# st.checkbox() 라는 함수를 사용해 누르면 데이터 프레임이 나오게
다시 누르면 없어지게 만들어보았다
# 셀렉트박스 : 여러개 중에 한개 선택
language = ['Python','C','JAVA','PHP','GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요',language)
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
# 저는 JAVA 언어를 가장 좋아합니다.
# 만약 유저가 선택한 언어가, 파이썬이나 php 나 Go 언어이면
# 배우기 쉽습니다. 라고 화면에 보여주고,
# 자바나 씨언어를 선택하면,
# 배우기 어렵습니다. 라고 화면에 보여주세요.
st.text('저는 '+my_choice+' 언어를 가장 좋아합니다.')
if my_choice == 'Python' or my_choice == 'PHP' or my_choice == 'GO':
st.text('배우기 쉽습니다.')
else :
st.text('배우기 어렵습니다.')
# 셀렉트박스는 리스트를 사용해 저장한 데이터 여러개를 나열해주고
이중에 1개를 선택할수 있는 박스이다
# 여러개를 선택할 수 있게 하는 multiselect
# 아이리스 데이터프레임의 컬럼이름을 가져오세요.
selected_list = st.multiselect('원하는 컬럼을 선택하세요',df.columns )
# 유저가 컬럼을 선택하면, 해당 컬럼을 화면에 보여주고,
# 유저가 아무컬럼도 선택하지 않으면, 데이터프레임 보여주지 않는다.
if selected_list :
st.dataframe(df[selected_list])
else :
st.text('')
# 멀티셀렉트는 리스트에 들어있는 여러개의 데이터를 다중 선택할수있게 한다
해당 코드블럭에서는 선택한 컬럼의 데이터 프레임을 가져오게 하였다
# 슬라이더
age = st.slider('나이',1,100)
st.text('당신이 선택한 나이는 '+str(age)+' 입니다.')
st.slider('데이터',1,100,step=5)
st.slider('데이터',1,200,value=75)
st.slider('데이터',0.0,1.0,step=0.1)
# 슬라이더는 범위를 지정하고 그 사이에 값을 선택하게 할수있다
스탭을 사용해 몇씩 뛰어넘을지 지정이 가능하고
벨류를 이용해 디폴드값을 설정할수 있다
with st.expander('hello') :
st.text('안녕하세요~')
# 익스펜더는 누르면 텍스트 안쪽의 문자가 나오게 하는 접은글을 만들수있다
'Python > Streamlit' 카테고리의 다른 글
Visual studio code 파일 분리해서 처리하는 법 (0) | 2022.12.13 |
---|---|
Visual studio code 데이터를 입력받는 함수 (input) (0) | 2022.12.13 |
스트림릿의 다양한 UI 함수 (title,text,header,subheader,success,warning,info,error) (0) | 2022.12.12 |
비주얼 스튜디오 코드의 터미널을 사용해 스트림릿 실행방법 (0) | 2022.12.12 |
파이썬 개발을 위한 비주얼 스튜디오 코드 셋팅 방법 (0) | 2022.12.12 |