파이썬 - 시각화

Streamlit - 입력하기

PCNC 2023. 4. 13. 00:35

자료출처 : streamlit 홈페이지

분석이나 시각화를 jupyter lab이나, Colab을 통해 진행한다고 해도, 경영진에게 발표를 진행하기에는 무리가 있다. 이를 위해 웹 앱을 손쉽게 만들어주는 Streamlit을 2019년부터 배포중인데, 간단한 사용법을 알아보자.

여기에 없는 내용은 https://docs.streamlit.io/library/api-reference (Streamlit 공식 api 사이트) 에서 확인할 수 있다.

 

import streamlit as st
#streamlit 의 시작

 

Streamlit은 기존 파이썬에서 Notebook을 사용하여 한줄씩 실행되던 것과 달리, Python File을 통해 페이지 단위로 실행된다.

또한, 웹 실행을 위해서는 Terminal을 통해 실행을 요한다.

Other의 Python File로 작성 후, Terminal로 실행해야 한다.

 

 

Terminal에서는 다음과 같은 실행과정을 통해 웹으로 표현할 수 있다.

줄마다 작업이 틀렸는지 확인할 수 있었던 notebook과 달리, 조금 더 꼼꼼한 작업을 요할 듯 하다.

 

● 글쓰기

제목, 캡션, 캡션 등의 글쓰기 기능이 존재한다.

st.title('제목 입력')
st.caption('캡션 입력')
st.header('헤더 입력')
st.subheader('서브헤더 입력')
st.text('텍스트 입력')

 

이렇게 입력하면,

이렇게 간단한 웹 화면을 만들 수 있다.

(streamlit은 원래 python파일이 저장된 후 매번 'run'을 클릭해줘야 웹 화면 확인이 가능한데, 우측 상단의 Always rerun을 누르면 저장만 해도 재실행이 가능하다.)

 

● 마크다운

st.markdown('# 제목 마크다운')  #띄어쓰기에 주의하자!
st.markdown('## 헤더 마크다운')
st.markdown('### 서브헤더 마크다운')
st.markdown('마크다운')
st.markdown('**진하게**')
st.markdown('_기울임_')
st.markdown('*기울임*')
st.markdown('_**진하고 기울임**_')
st.markdown('**_진하고 기울임_**')

이렇게 입력하면

이와 같은 형태로 웹이 제작된다.

 

● 수학식(latex)

내가 정말 싫어하는 수학식을 표현할 수 있다.

st.latex(r'''a + ar + ar^2 + ar^3  \hat{y}''')

이렇게 입력하면

위와같은 수식이 작성된다. 여러 표현 방법이 있겠지만, 추후 알아보자.

 

● 코드(Code)

입력하는 코드화면 역시 웹상에서 표현이 가능하다.

st.code('a + ar + ar^2 + ar^3')

이와같이 입력하면,

이런 코드셀이 완성된다.

 

● write

write는 글쓰기지만 글쓰기로 구분하기 어렵다고 생각한다. DataFrame 등 여러가지 개체들이 들어갈 수 있기 때문이다.

Notebook의 print()와 조금 유사한데, DataFrame도 넣을수 있고, 그림이나 음악 등 매체들도 넣을 수 있는 기능이다.

 

df = pd.DataFrame({'이름':['표챢','표챢남친','둘리'],'성별':['여성','남성','여성']})
st.write('데이터프레임도 write에 넣을 수 있다. 바로',df,'이렇게')

이런식으로 코드셋을 설정하면,

이처럼 문장 사이에 DataFrame을 포함하여 작성이 가능하다.

 

● 미디어파일 입력하기

st.image('https://images.unsplash.com/photo-1548407260-da850faa41e3?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1487&q=80', caption='산에서 본 해돋이')
st.audio('../MusicSample.mp3')
st.video('../VideoSample.mp4')

각각 image, audio, video에 경로를 입력하면, 해당 미디어의 파일을 웹상에 업로드할 수 있다.

 

당연히 실행도 된다!

입력은 여기까지.