File size: 1,892 Bytes
877f6f9
 
8f434a7
d292b25
 
 
 
8f434a7
 
 
 
d292b25
 
8f434a7
 
 
 
 
 
 
 
 
d292b25
 
 
 
 
 
 
8f434a7
d292b25
 
 
 
 
 
 
 
 
8f434a7
 
d292b25
8f434a7
 
 
d292b25
8f434a7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d292b25
8f434a7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import streamlit as st
import pandas as pd
import altair as alt

# Streamlit ํŽ˜์ด์ง€ ์„ค์ •
st.set_page_config(page_title="๋„์„œ ๋Œ€์ถœ ์ˆ˜์š” ์˜ˆ์ธก", layout="wide")

# ํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€ ๋‚˜๋ž€ํžˆ ํ‘œ์‹œ
st.title("๋„์„œ ๋Œ€์ถœ ์˜ˆ์ธก ๋ถ„์„")

# ์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ
image1 = "image-1.jpeg"
image2 = "image-2.jpeg"

# ๋‘ ๊ฐœ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‚˜๋ž€ํžˆ ๋ฐฐ์น˜
col1, col2 = st.columns(2)

with col1:
    st.image(image1, caption="์ด๋ฏธ์ง€ 1", use_column_width=True)

with col2:
    st.image(image2, caption="์ด๋ฏธ์ง€ 2", use_column_width=True)

# ์—‘์…€ ํŒŒ์ผ ๊ฒฝ๋กœ
file_path = r'book_analysis_summary.xlsx'

# ์—‘์…€ ํŒŒ์ผ ์ฝ๊ธฐ
df = pd.read_excel(file_path)

# ๊ทธ๋ฃน ์„ ํƒ
group_column = '์—ฐ๋ น_์„ฑ๋ณ„'
if group_column in df.columns:
    st.sidebar.title("๊ทธ๋ฃน ์„ ํƒ")
    groups = df[group_column].unique()
    selected_group = st.sidebar.selectbox("๊ทธ๋ฃน ์„ ํƒ", groups)
    
    # ์„ ํƒ๋œ ๊ทธ๋ฃน์˜ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง
    filtered_data = df[df[group_column] == selected_group]
    
    # ํ•„์š”ํ•œ ์—ด๋งŒ ์ถ”์ถœ (์˜ˆ์ธก ๋Œ€์ถœ๊ฑด์ˆ˜, ์‹ค์ œ ๋Œ€์ถœ๊ฑด์ˆ˜)
    filtered_data = filtered_data[['์—ฐ๋ น_์„ฑ๋ณ„', '์˜ˆ์ธก ๋Œ€์ถœ๊ฑด์ˆ˜', '์‹ค์ œ ๋Œ€์ถœ๊ฑด์ˆ˜']]
    
    # ํ•„ํ„ฐ๋ง๋œ ๋ฐ์ดํ„ฐ ํ‘œ์‹œ
    st.write(f"์„ ํƒํ•œ ์นดํ…Œ๊ณ ๋ฆฌ: {selected_group}")
    st.write(filtered_data)
    
    # ๋ฐ์ดํ„ฐ๋ฅผ ์„ธ๋กœ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™”
    chart_data = filtered_data.melt(id_vars='์—ฐ๋ น_์„ฑ๋ณ„', var_name='Type', value_name='Count')

    bar_chart = alt.Chart(chart_data).mark_bar().encode(
        x=alt.X('์—ฐ๋ น_์„ฑ๋ณ„:N', title='์—ฐ๋ น๋Œ€ ๋ฐ ์„ฑ๋ณ„'),
        y=alt.Y('Count:Q', title='๋Œ€์ถœ๊ฑด์ˆ˜'),
        color='Type:N',
        column='Type:N'
    ).properties(
        width=300,
        height=400
    ).configure_axis(
        labelFontSize=12,
        titleFontSize=14
    )
    
    st.altair_chart(bar_chart, use_container_width=True)