ru_characters_explorer / src /data_loader.py
loim's picture
docker
f78fd27
raw
history blame
783 Bytes
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()})