본문 바로가기
DataScience/Streamlit

Streamlit 파일 분리 앱(사이드 메뉴바 이용 )

by leopard4 2022. 12. 13.

좌측 사이드바에 메뉴항목을 만들자

 

비쥬얼스튜디오 코드에서 같은경로에 해당 파일들을 만들었다.
app_eda.py 내부에 작성된 함수의 모습

 

위의 함수를 아래와같이

메인페이지에서  if 문을 사용해  호출하면 

해당 메뉴를 클릭했을때 함수가 작동하게 된다.

# 이 코드는 메인페이지이다. 서브 페이지의 함수를 모두 작성 후 사용해야 정상동작한다.
import streamlit as st
# 다른 파일의 함수를 호출하고 싶으면, 함수를 임포트 한다.
from app_Home import run_home_app
from app_eda import run_eda_app
from app_ml import run_ml_app

def main():
    st.title('파일 분리 앱')
    
    menu = ['Home', 'EDA', 'ML','About']

    choice = st.sidebar.selectbox('메뉴', menu)

    if choice == 'Home' :
        run_home_app()
    elif choice == 'EDA' :
        run_eda_app()
    elif choice == 'ML' :
        run_ml_app()
    elif choice == 'About':
        pass


if __name__ == '__main__' :
    main()

 

EDA 페이지를 만들기위한 pandas 함수 

 

import streamlit as st
import pandas as pd

def run_eda_app() :
    
    st.subheader('EDA 화면')

    df = pd.read_csv('streamlit_data/iris.csv')

    st.dataframe(df)

    st.dataframe( df.corr() )