Python/Streamlit

Streamlit) ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ๋กœ ์›นํŽ˜์ด์ง€ ์‹คํ–‰ํ•˜๊ธฐ (๋‹ค๋ฅธ ํŒŒ์ผ์— ์žˆ๋Š” def ํ•จ์ˆ˜ ๊ฐ€์ ธ์˜ค๊ธฐ)

567Rabbit 2024. 4. 26. 17:52

 

 

ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋งŒ๋“ค์–ด์„œ, app8.py ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ  ๊ฐ๊ฐ์˜ defํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

app8.py์˜ ๋‚ด์šฉ์ด๋‹ค

# ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•

import streamlit as st
from app8_home import run_home  #๋‹ค๋ฅธ ํŒŒ์ผ์˜ defํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋Š”๋ฐฉ๋ฒ•
from app8_eda import run_eda
from app8_ml import run_ml
from app8_about import run_about
def main():
    st.title('ํŒŒ์ผ ๋ถ„๋ฆฌ ์•ฑ')
    
    menu = ['Home','EDA','ML','About']
    
    choice = st.sidebar.selectbox('๋ฉ”๋‰ด', menu)
    
    if choice == menu[0]: 
        run_home()          #๋‹ค๋ฅธ ํŒŒ์ผ์˜ defํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€์„œ ์“ฐ๋Š”๋ฐฉ๋ฒ•
    elif choice == menu[1]:
        run_eda()
    elif choice == menu[2]:
        run_ml()
    elif choice == menu[3]:
        run_about()

if __name__ == '__main__':
    main()

 

 

 

app8_home.py

import streamlit as st

def run_home() :
    st.subheader('ํ™ˆ ํ™”๋ฉด')
    st.text('ํŒŒ์ผ ๋ถ„๋ฆฌ ์•ฑ ์‹ค์Šต')
    st.image('./data/image_03.jpg')

 

 

app8_eda.py

import streamlit as st
import pandas as pd

def run_eda():
    st.subheader('EDA ํ™”๋ฉด')
    
    # iris.csv ํŒŒ์ผ์„ ์ฝ์–ด์™€์„œ ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ๋“ค ์„ ํƒ ๊ฐ€๋Šฅํ† ๋ก ํ•˜์—ฌ ์„ ํƒํ•œ ์ปฌ๋Ÿผ๋“ค๋งŒ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๊ณ  ์ƒ๊ด€๊ณ„์ˆ˜๋„ ๋ณด์—ฌ์ฃผ๋„๋ก ๊ฐœ๋ฐœ
    df = pd.read_csv('./data/iris.csv')
    st.dataframe(df)
    
    # ๋ชจ๋“  ์ˆ˜์น˜ํ˜• ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ƒ๊ด€ ๊ณ„์ˆ˜ ๊ณ„์‚ฐ
    numerical_cols = df.select_dtypes(include=['float64', 'int64']).columns
    selected_cols = st.multiselect('์›ํ•˜๋Š” ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜์„ธ์š”', numerical_cols)
    
    if selected_cols:
        corr_df = df[selected_cols].corr()
        st.write("์„ ํƒํ•œ ์ปฌ๋Ÿผ๋“ค ๊ฐ„์˜ ์ƒ๊ด€ ๊ด€๊ณ„:")
        st.write(corr_df)
    else:
        st.write("์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜์„ธ์š”.")

 

 

 

app8_ml.py

import streamlit as st

def run_ml() :
    #์˜ˆ์ธกํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค,
    
    st.subheader('์ด ์•ฑ์€ ...')

 

 

 

app8_about.py

import streamlit as st

def run_about() :
    #์˜ˆ์ธกํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค,
    
    st.subheader('about')