| import os |
| import hashlib |
| import pandas as pd |
| import streamlit as st |
|
|
| def create_hash(row): |
| combined = str(row['name']) + str(row['short_story']) |
| return hashlib.sha256(combined.encode()).hexdigest() |
|
|
| @st.cache_data |
| def load_data(): |
| """Загрузка и кэширование набора данных""" |
| df = pd.read_json(os.getenv("DATASET_PATH")) |
| df['hash'] = df.apply(create_hash, axis=1) |
|
|
| return df |
|
|
| @st.cache_data |
| def get_unique_mood(_df): |
| """Получение уникальных значений настроения""" |
| return sorted(_df['mood'].unique().tolist()) |
|
|
| @st.cache_data |
| def get_unique_tags(_df): |
| """Получение уникальных тегов""" |
| return sorted({tag for tags in _df['tags'] for tag in tags.split()}) |