Project

PROJECT 1-(3) ํ™”๋ฉด 2๋ถ„ํ• ๋กœ ๋‚˜๋ˆ„์–ด ํ‘œํ˜„ & ํ•˜์ดํผ๋งํฌ ํ‘œ์‹œํ•˜๊ธฐ

567Rabbit 2024. 5. 8. 15:10

 

 

 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์„ ํ‘œํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค.

 

 

 

 

 

ํ•„์š”ํ•œ ์ž„ํฌํŠธ๋ฅผ ํ•ด์ฃผ๊ณ ,

import streamlit as st
from PIL import Image #ํŒŒ์ด์ฌ ์ด๋ฏธ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ PIL

 

 

 

ํ•˜์ดํผ๋งํฌ ํ‘œ์‹œํ•˜๊ธฐ

 

st.markdown("[ํ‘œํ˜„ํ• ๋ฌธ๊ตฌ](์ฃผ์†Œ)") ํ•˜๋ฉด, ์ฃผ์†Œ๋ฅผ ๋ฐ”๋กœ ํด๋ฆญํ•˜์—ฌ ์ด๋™ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

ํ™”๋ฉด 2๋ถ„ํ•  ํ•˜๊ธฐ

col1, col2 = st.columns([์™ผ์ชฝ๊ตฌ์—ญ ๋„“์ด๋น„์œจ,์˜ค๋ฅธ์ชฝ๊ตฌ์—ญ ๋„“์ด ๋น„์œจ])

 

with col1 :

      col1์— ๋“ค์–ด๊ฐˆ ๋‚ด์šฉ

 

with col2 :

      col2์— ๋“ค์–ด๊ฐˆ ๋‚ด์šฉ

 

์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด 2๋ถ„ํ•  ํ‘œ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

def run_home() :
    
    # ํ™”๋ฉด์„ 2๋ถ„ํ•  ํ•˜์—ฌ ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ์ง€ ์•Š๊ณ  ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•  ๊ฒƒ์ด๋‹ค
    col1, col2= st.columns([2.3, 2])  
    
    with col1 :
        
        # ์ „์ฒด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์„ค๋ช…
        
        st.title('Predicting Stock of Korea')
        st.subheader(' ')
        st.text('๋ฐ์ดํ„ฐ ์ถœ์ฒ˜ : FinanceDataReader๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ')
        st.markdown("[github.com/FinanceData/FinanceDataReader](https://github.com/FinanceData/FinanceDataReader)")
        st.text('๋ฐ์ดํ„ฐ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค!')
        st.subheader(' ')
        st.text('๊ตญ๋‚ด ์ฃผ์‹์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ณด์—ฌ์ฃผ๊ณ , ๊ธฐ์—…์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ธฐ์—…์˜ ๋ฏธ๋ž˜ 1๋…„์น˜ ์ฃผ์‹๊ฐ€์น˜๋ฅผ ')
        st.text('ํ”„๋กœํŽซ(prophet)๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธกํ•˜๊ณ  ๋…„,์›”,์ฃผ๊ฐ„์˜ ์ฃผ๊ฐ€ ํ๋ฆ„์„ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋‚ด์—ˆ์Šต๋‹ˆ๋‹ค')
        st.text('๋น„๊ต์  ์•ˆ์ •์ ์ธ ๋ฆฌํ„ด(return)์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ตญ๋‚ด ETF ์ฃผ์‹์„ ')
        st.text('์ด์ž์œจ(EarningRate)์„ ์ค‘์‹ฌ์œผ๋กœ ๋น„๊ตํ•˜์˜€์Šต๋‹ˆ๋‹ค')        
        st.subheader(' ')
        
        # ๋ฉ”์ธ ํ™”๋ฉด์— ๋„ฃ์„ ์‚ฌ์ง„
        img = Image.open('./stock1.png')  
        st.image(img, width=650)
            
            
    with col2 :
        
        # ๋ชฉ์ฐจ
        
        st.header(' ')
        st.header(' ')
        st.header(' ')
        st.header('- ๋ชฉ์ฐจ -')
        st.subheader('')
        
        st.subheader('โ… . ์ฃผ์‹์ •๋ณด ๋ณด๊ธฐ')
        st.subheader(' : Viewing stock information')
        st.text('๊ธฐ์—… Name์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ธฐ์—… ์ฃผ์‹์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ dataset์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค')
        st.subheader('')
        
        st.subheader('โ…ก. ์ฃผ์‹๊ฐ€์น˜ ์˜ˆ์ธก')
        st.subheader(' : Predicting stock value')
        st.text('์ฃผ์‹๋ฐ์ดํ„ฐ๋ฅผ prophet(ํ”„๋กœํŽซ) ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ')
        st.text('๋ฏธ๋ž˜ 1๋…„์น˜ ์ฃผ์‹๊ฐ€์น˜๋ฅผ ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค')
        st.subheader('')
        
        st.subheader('โ…ข. ๊ตญ๋‚ด ETF ์ฃผ์‹๊ฐ€์น˜๋น„๊ต')
        st.subheader(' : Comparing domestic ETF stock valuations')
        st.text('์•ˆ์ •์ ์ธ return์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ตญ๋‚ด ETF์ฃผ์‹์„ ์ข…๋ชฉ๋ณ„(์นดํ…Œ๊ณ ๋ฆฌ๋ณ„)๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค')

 

 

 

 

์ด๋ฏธ์ง€ ์‚ฝ์ž…ํ•˜๊ธฐ

 

์•„๋ž˜์™€ ๊ฐ™์€ ์‚ฌ์ง„์„ ๋„ฃ๊ณ ์‹ถ์„ ๋•Œ์—๋Š”

 

from PIL import Image   #ํŒŒ์ด์ฌ ์ด๋ฏธ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ PIL๋ฅผ ์ž„ํฌํŠธํ•˜๊ณ 

 

img = Image.open('./stock1.png')   # ./๋Š” ํ˜„์žฌ์œ„์น˜์— ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค.  ๋งŒ์•ฝ ์ƒ์œ„ํด๋”๋กœ ์ด๋™ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ../๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค
st.image(img, width=์‚ฌ์ง„ํฌ๊ธฐ์ง€์ •)

 

๋งŒ์ผ, ์ด๋ฏธ์ง€๋ฅผ ํ™”๋ฉด์— ๊ฝ‰ ์ฐจ๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด   st.image(img, use_column_width=True) ํ•˜๋ฉด ๋œ๋‹ค.