OCEANAI / app /event_handlers /calculate_practical_tasks.py
DmitryRyumin's picture
Summary
0ba2e4a
raw history blame
No virus
2.67 kB
"""
File: calculate_practical_tasks.py
Author: Elena Ryumina and Dmitry Ryumin
Description: Event handler for Gradio app to calculate practical tasks.
License: MIT License
"""
from app.oceanai_init import b5
import gradio as gr
import pandas as pd
# Importing necessary components for the Gradio app
from app.config import config_data
from app.components import html_message, dataframe, files_create_ui
def event_handler_calculate_practical_task_blocks(
practical_tasks, practical_subtasks, pt_scores
):
if practical_subtasks.lower() == "professional skills":
df_professional_skills = pd.read_csv(config_data.Links_PROFESSIONAL_SKILLS)
df_professional_skills.index.name = "ID"
df_professional_skills.index += 1
df_professional_skills.index = df_professional_skills.index.map(str)
b5._priority_skill_calculation(
df_files=pt_scores.iloc[:, 1:],
correlation_coefficients=df_professional_skills,
threshold=0.5,
out=True,
)
# Optional
df = b5.df_files_priority_skill_.rename(
columns={
"Openness": "OPE",
"Conscientiousness": "CON",
"Extraversion": "EXT",
"Agreeableness": "AGR",
"Non-Neuroticism": "NNEU",
}
)
columns_to_round = df.columns[1:]
df[columns_to_round] = df[columns_to_round].apply(
lambda x: [round(i, 3) for i in x]
)
df.to_csv(config_data.Filenames_PT_SKILLS_SCORES)
df.reset_index(inplace=True)
return (
dataframe(
headers=df.columns.tolist(),
values=df.values.tolist(),
visible=True,
),
files_create_ui(
config_data.Filenames_PT_SKILLS_SCORES,
"single",
[".csv"],
config_data.OtherMessages_EXPORT_PS,
True,
False,
True,
"csv-container",
),
html_message(config_data.InformationMessages_NOTI_IN_DEV, False, False),
)
else:
gr.Info(config_data.InformationMessages_NOTI_IN_DEV)
return (
dataframe(visible=False),
files_create_ui(
None,
"single",
[".csv"],
config_data.OtherMessages_EXPORT_PS,
True,
False,
False,
"csv-container",
),
html_message(config_data.InformationMessages_NOTI_IN_DEV, False, True),
)