Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| # νμΌ κ²½λ‘ μ€μ | |
| FILE_PATH = "book_topics_output_modified.xlsx" | |
| # μμ νμΌμ μ½μ΄μ€λ ν¨μ | |
| def load_data(file_path): | |
| return pd.read_excel(file_path) | |
| # Streamlit μ ν리μΌμ΄μ | |
| def main(): | |
| st.title("ν€μλ κΈ°λ° λμ μΆμ²") | |
| # λ°μ΄ν° λ‘λ | |
| data = load_data(FILE_PATH) | |
| # μ΅μ’ ν ν½ μ΄μ΄ μλμ§ νμΈ | |
| if 'μ΅μ’ ν ν½' not in data.columns: | |
| st.error("μ΅μ’ ν ν½ μ΄μ΄ λ°μ΄ν°μ μμ΅λλ€.") | |
| return | |
| # μ΅μ’ ν ν½ μΉ΄ν κ³ λ¦¬ μ ν | |
| topic_category = st.selectbox( | |
| "μ΅μ’ ν ν½μ μ ννμΈμ:", | |
| sorted(data['μ΅μ’ ν ν½'].unique()) | |
| ) | |
| # μ νλ ν ν½μ ν΄λΉνλ λμ λͺ©λ‘ νν°λ§ | |
| filtered_data = data[data['μ΅μ’ ν ν½'] == topic_category] | |
| # λμλͺ μ΄μ΄ μλμ§ νμΈ | |
| if 'λμλͺ ' not in data.columns: | |
| st.error("λμλͺ μ΄μ΄ λ°μ΄ν°μ μμ΅λλ€.") | |
| return | |
| # μ«μ μ΄μ΄ μλμ§ νμΈ | |
| numeric_cols = [col for col in filtered_data.columns if pd.api.types.is_numeric_dtype(filtered_data[col])] | |
| if not numeric_cols: | |
| st.error("μ«μ μ΄μ΄ μμ΅λλ€.") | |
| return | |
| # κ°μ₯ λμ κ°μ κ°μ§ μ«μ μ΄ μ ν | |
| number_col = numeric_cols[0] # 첫 λ²μ§Έ μ«μ μ΄ μ¬μ© | |
| # μμ 10κ° λμλͺ μΆμΆ | |
| top_books = filtered_data.nlargest(20, number_col)[['λμλͺ ', number_col]] | |
| # λμλͺ λ§ μΆλ ₯ | |
| st.write(f"μ΅μ’ ν ν½ '{topic_category}'μ ν΄λΉνλ μμ 20κ° λμλͺ :") | |
| st.dataframe(top_books[['λμλͺ ']]) # λμλͺ λ§ νμ | |
| if __name__ == "__main__": | |
| main() |