새소식

AIVLE School DX 3기

[에이블스쿨 10주차] 데이터분석 1

  • -
728x90
반응형

 

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)

 

  • dataframe 수정
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 button - 하나만 선택 가능
radio_btn = st.radio('좋아하는 과일을 선택하세요',
                     ('사과', '딸기', '바나나'))
                     
if radio_btn == '사과':
    st.write('아삭아삭')
elif radio_btn == '딸기':
    st.write('상큼달콤')
else:
    st.write('한 입 베어물 때 부드럽고..~ 달콤하고..~ 참기름 처럼 꼬소-하고..~ 아카시아 꽃!향기가 나면서..')

 

  • button
if st.button('say hello'):
    st.write('Hello')
else:
    st.write('Goodbye')

  • checkbox
agree = st.checkbox('I Love U')
if agree:
    st.write('🥰'*10)

 

  • select box
option = st.selectbox('어떤 메뉴로 드릴까요?', ('마라탕', '초밥', '김치볶음밥'))
st.write('네', option, ' 으로 드리겠습니다.')

 

  • multi box(여러 선택)
options = st.multiselect( 
'좋아하는 색을 모두 선택하세요',
['Green', 'Yellow', 'Red', 'Blue'], 
['Yellow', 'Red'])
st.write('선호 색상: ')
for i in options: 
st.write(i)

 

5️⃣Layout & Containers

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.