프로젝트를 진행할 때, 만든 모델을 다른 사람에게 공유하고, 보여주고 싶은 경우 사용할 수 있는 대시보드
간단하게 실행 가능한 도구 = streamlit
python으로 web 구현하기
st.title("Title")
st.header("Header")
st.subheader("subheader")
st.title("Text")
@st.cache
def load_data():
return data
if st.button("click button"):
st.write("Data Loading..")
load_data()
checkbox_btn = st.checkbox('Checktbox Button', value = True) #디폴트 체크
if checkbox_btn:
st.write('Great!')
selected_item = st.radio("Radio Part", ("A", "B", "C"))
if selected_item == "A":
st.write("A!!")
elif selected_item == "B":
st.write("B!")
elif selected_item == "C":
st.write("C!")
첫 요소가 디폴트로 선택된다.
option = st.selectbox('Please select in selectbox!',
('kyle', 'seongyun', 'zzsza'))
st.write('You selected:', option)
multi_select = st.multiselect('Please select somethings in multi selectbox!',
['A', 'B', 'C', 'D'])
st.write('You selected:', multi_select)
결과가 배열로 나온다.
values = st.slider('Select a range of values', 0.0, 100.0, (25.0, 75.0))
st.write('Values:', values)
#텍스트 데이터
st.text_input(value)
#텍스트 데이터를 암호로 사용
st.text_input(label, value, type="password")
# 숫자 데이터
st.number_input(label, value)
# 여러줄의 텍스트 데이터
st.text_area(label, value)
#날짜 입력
st.date_input(label, value)
#시간 입력
st.time_input(label, value)
st.write("st.dataframe api") #st.dataframe 사용하면 인터렉티브 테이블
df = pd.DataFrame(np.random.randn(5, 2), columns=('col %d' % i for i in range(2)))
st.dataframe(df.style.highlight_max(axis=0)) #최대값에 하이라이트
st.write("st.table api") #st.table 사용하면 static한 테이블
st.table(df)
st.line_chart(df)
st.area_chart(df)
st.bar_chart(df)
st.pyplot(df)
st.altair_chart(df)
st.vega_lite_chart(df)
st.plotly_chart(df)
st.bokeh_chart(df)
st.pydeck_chart(df)
st.graphviz_chart(df)
st.map(df)
st.success("성공메세지")
st.error("error")
st.warning("Warning")
st.info("info")
import time
# 코드 실행 도중에 출력하는 메세지
with st.spinner("코드 실행중"):
time.sleep(5)
st.success("완료")
from PIL import Image
image = Image.open("img.jpg")
st.image(image)
video = open("videpo.mp4", "rb")
video_bytes = video.read()
st.video(video_bytes)
audio = open("audio.ogg", 'rb')
audio_bytes = audio.read()
st.audio(audio_bytes, format = 'audio/ogg')
#웹페이지 왼쪽에 사이드바 추가
add_selectbox = st.sidebar.selectbox("왼쪽 사이드바 Select Box", ("A", "B", "C"))
#st.beta_columns 사용해 레이아웃 나누기
col1, col2, col3 = st.beta_columns(3)
#첫번째 열
with col1:
st.header("A cat")
st.image("https://static.streamlit.io/examples/cat.jpg", use_column_width=True)
#두번째 열
with col2:
st.header("Button")
if st.button("Button!!"):
st.write("Yes")
#세번째 열
with col3:
st.header("Chart Data")
chart_data = pd.DataFrame(np.random.randn(50, 3), columns=["a", "b", "c"])
st.bar_chart(chart_data)
https://cheat-sheet.streamlit.app/