Streamlit
python으로 데이터 분석을 위한 웹앱을 쉽게 만들어주는 라이브러리
장점
- 백엔드 개발이나 HTTP Request 구현이 필요 없음
- 시각화에서 서브파티툴을 활용할 수 있음
- 쉬운 배포 기능
streamlit 설치(anaconda prompt)
pip install streamlit
streamlit 불러오기
import streamlit as st
streamlit 파일 실행하기
(New → Teminal)
⭐Terminal 테마는 dark로 해야 잘 보임
# streamlit run 이 하나의 명령어
streamlit run 파일명.py
elements
1️⃣Text elements
- st.title('title 입니다.')
- st.header('header 입니다.')
- st.subheader('subheader 입니다')
- st.text('text 입니다')
- st.caption('caption 입니다')
Caption : Text Input을 받는 것이 아닌, st.write()처럼 한 번 값을 입력한 이후 변경하지 못하게 한 것
2️⃣Media elements
- st.audio('오디오파일')
- st.video('비디오파일')
3️⃣Data Display elements
- metric 측정항목 - 타이틀, 값, 변동값
st.metric(label="Temperature", value="30.5 °C", delta="2.5 °C")
- columns - 여러 metric을 같이 표시
col1, col2, col3 = st.columns(3)
col1.metric("기온", "30.5 °C", "2.5 °C")
col2.metric("풍속", "9 mph", "-8%")
col3.metric("습도", "86%", "4%")
- dataframe, write - 적당한 화면에 데이터가 나오고, 스크롤로 내려가며 데이터를 볼 수 있도록 실행됨.
df = pd.read_csv(‘df.csv’)
st.dataframe(df)
st.write(df)
df = pd.read_csv(‘df.csv’)
edited_df = st.experimental_data_editor(df)
if st.button('Press button to Save df.csv'):
edited_df.to_csv('streamlit/df.csv')
st.write('💾 Saved')
4️⃣Input Widgets
radio_btn = st.radio('좋아하는 과일을 선택하세요',
('사과', '딸기', '바나나'))
if radio_btn == '사과':
st.write('아삭아삭')
elif radio_btn == '딸기':
st.write('상큼달콤')
else:
st.write('한 입 베어물 때 부드럽고..~ 달콤하고..~ 참기름 처럼 꼬소-하고..~ 아카시아 꽃!향기가 나면서..')
if st.button('say hello'):
st.write('Hello')
else:
st.write('Goodbye')
agree = st.checkbox('I Love U')
if agree:
st.write('🥰'*10)
option = st.selectbox('어떤 메뉴로 드릴까요?', ('마라탕', '초밥', '김치볶음밥'))
st.write('네', option, ' 으로 드리겠습니다.')
options = st.multiselect(
'좋아하는 색을 모두 선택하세요',
['Green', 'Yellow', 'Red', 'Blue'],
['Yellow', 'Red'])
st.write('선호 색상: ')
for i in options:
st.write(i)
5️⃣Layout & Containers