Spaces:
Sleeping
Sleeping
Upload 2 files
Browse files- book_topics_output_modified.xlsx +0 -0
- streamlit4.py +54 -0
book_topics_output_modified.xlsx
ADDED
|
Binary file (636 kB). View file
|
|
|
streamlit4.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
import pandas as pd
|
| 3 |
+
|
| 4 |
+
# νμΌ κ²½λ‘ μ€μ
|
| 5 |
+
FILE_PATH = "book_topics_output_modified.xlsx"
|
| 6 |
+
|
| 7 |
+
# μμ
νμΌμ μ½μ΄μ€λ ν¨μ
|
| 8 |
+
def load_data(file_path):
|
| 9 |
+
return pd.read_excel(file_path)
|
| 10 |
+
|
| 11 |
+
# Streamlit μ ν리μΌμ΄μ
|
| 12 |
+
def main():
|
| 13 |
+
st.title("ν€μλ κΈ°λ° λμ μΆμ²")
|
| 14 |
+
|
| 15 |
+
# λ°μ΄ν° λ‘λ
|
| 16 |
+
data = load_data(FILE_PATH)
|
| 17 |
+
|
| 18 |
+
# μ΅μ’
ν ν½ μ΄μ΄ μλμ§ νμΈ
|
| 19 |
+
if 'μ΅μ’
ν ν½' not in data.columns:
|
| 20 |
+
st.error("μ΅μ’
ν ν½ μ΄μ΄ λ°μ΄ν°μ μμ΅λλ€.")
|
| 21 |
+
return
|
| 22 |
+
|
| 23 |
+
# μ΅μ’
ν ν½ μΉ΄ν
κ³ λ¦¬ μ ν
|
| 24 |
+
topic_category = st.selectbox(
|
| 25 |
+
"μ΅μ’
ν ν½μ μ ννμΈμ:",
|
| 26 |
+
sorted(data['μ΅μ’
ν ν½'].unique())
|
| 27 |
+
)
|
| 28 |
+
|
| 29 |
+
# μ νλ ν ν½μ ν΄λΉνλ λμ λͺ©λ‘ νν°λ§
|
| 30 |
+
filtered_data = data[data['μ΅μ’
ν ν½'] == topic_category]
|
| 31 |
+
|
| 32 |
+
# λμλͺ
μ΄μ΄ μλμ§ νμΈ
|
| 33 |
+
if 'λμλͺ
' not in data.columns:
|
| 34 |
+
st.error("λμλͺ
μ΄μ΄ λ°μ΄ν°μ μμ΅λλ€.")
|
| 35 |
+
return
|
| 36 |
+
|
| 37 |
+
# μ«μ μ΄μ΄ μλμ§ νμΈ
|
| 38 |
+
numeric_cols = [col for col in filtered_data.columns if pd.api.types.is_numeric_dtype(filtered_data[col])]
|
| 39 |
+
if not numeric_cols:
|
| 40 |
+
st.error("μ«μ μ΄μ΄ μμ΅λλ€.")
|
| 41 |
+
return
|
| 42 |
+
|
| 43 |
+
# κ°μ₯ λμ κ°μ κ°μ§ μ«μ μ΄ μ ν
|
| 44 |
+
number_col = numeric_cols[0] # 첫 λ²μ§Έ μ«μ μ΄ μ¬μ©
|
| 45 |
+
|
| 46 |
+
# μμ 10κ° λμλͺ
μΆμΆ
|
| 47 |
+
top_books = filtered_data.nlargest(20, number_col)[['λμλͺ
', number_col]]
|
| 48 |
+
|
| 49 |
+
# λμλͺ
λ§ μΆλ ₯
|
| 50 |
+
st.write(f"μ΅μ’
ν ν½ '{topic_category}'μ ν΄λΉνλ μμ 10κ° λμλͺ
:")
|
| 51 |
+
st.dataframe(top_books[['λμλͺ
']]) # λμλͺ
λ§ νμ
|
| 52 |
+
|
| 53 |
+
if __name__ == "__main__":
|
| 54 |
+
main()
|