Project

PROJECT 1-(4) ๋ฌธ์ž๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ํฌํ•จ๋˜๋Š” ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ํ–‰ ์ถœ๋ ฅํ•˜๊ธฐ

567Rabbit 2024. 5. 8. 15:19

 

์ž„ํฌํŠธํ•œ๋‹ค.

import streamlit as st
import pandas as pd
from PIL import Image   # ํŒŒ์ด์ฌ ์ด๋ฏธ์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ PIL
import FinanceDataReader as fdr  #์‚ฌ์šฉํ•  ์ฃผ์‹๋ฐ์ดํ„ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

 

๊ตญ๋‚ด ์ฃผ์‹๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ, df์— ์ €์žฅํ•œ๋‹ค.

df = fdr.StockListing("KRX")

 

 

 

 

ํ™”๋ฉด ์ „์ฒด์˜ ๊ฐ€์šด๋ฐ ์ •๋ ฌ์„ ์œ„ํ•ด col2์— ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค.

 

์ „์ฒด๋ฐ์ดํ„ฐ ๋ณด๊ธฐ๋Š” st.button()์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

def run_view() :
    
    col1, col2, col3 = st.columns([1, 2.5, 1])  # ํ™”๋ฉด์˜ ๊ฐ€์šด๋ฐ ์ •๋ ฌ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•จ
    
    with col2 :
        st.title('โ… . ์ฃผ์‹์ •๋ณด ๋ณด๊ธฐ')
        st.header(' : Viewing stock information')
        st.subheader('')
        st.text('์ฃผ์‹์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ •๋ณด๋ฅผ dataset์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค')
        st.text('๊ธฐ์—…์˜ Code๋Š” ์ฃผ์‹ ์˜ˆ์ธก ๋„๊ตฌ์—์„œ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์ฃผ์‹๊ฐ€์น˜ ์˜ˆ์ธก์„ ์›ํ•˜๋ฉด Code๋ฅผ ๋ณต์‚ฌํ•ด์ฃผ์„ธ์š”')
        st.header('')

        # ์ „์ฒด ๋ฐ์ดํ„ฐ๋ณด๊ธฐ
        if st.button(label='์ „์ฒด ๋ฐ์ดํ„ฐ๋ณด๊ธฐ') :
            st.dataframe(df, width=2000, height=550)
        
        st.header('')
        st.subheader('์ปฌ๋Ÿผ(columns)์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค')
        
        # ์ปฌ๋Ÿผ ์„ค๋ช…์— ๋Œ€ํ•œ ์ด๋ฏธ์ง€
        img = Image.open('./view_column.png')  
        st.image(img, width=800) 
        
        st.header('')

 

 

 

 

 

 

 

 

์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์–ด์„œ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜์˜€๋‹ค.

 

 

 

 

 

 

 

๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ถœ๋ ฅํ•˜๊ฒŒํ•˜๊ธฐ

 # ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ถœ๋ ฅํ•˜๊ฒŒํ•˜๊ธฐ
    new_data = st.text_input('์ฃผ์‹์˜ Name์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š” ex)์‚ผ์„ฑ, ํ˜„๋Œ€')
    st.dataframe(df.loc[df['Name'].str.contains(new_data)], width=2000, height=450)