import pandas as pd

# Carregar o arquivo de dados
file_path = '/mnt/data/RARASAdministrativoC_DATA_2025-01-13_0931.csv'
data = pd.read_csv(file_path)

# Função para processar e calcular estatísticas descritivas
def analyze_column(data, column_name, mapping, metric_name):
    if column_name in data.columns:
        # Mapear os valores qualitativos para numéricos
        mapped_data = data[column_name].dropna().map(mapping)
        
        # Calcular estatísticas
        mean_value = mapped_data.mean()
        median_value = mapped_data.median()
        std_value = mapped_data.std()
        
        # Resultados
        results = {
            "Evaluation Metric": metric_name,
            "Mean": round(mean_value, 2),
            "Median": round(median_value, 2),
            "Standard Deviation": round(std_value, 2),
            "Key Results": (
                f"{metric_name} is conducted in approximately {round(mean_value * 100, 2)}% of cases, "
                f"with an average score of {round(mean_value, 2)}. The median score of {round(median_value, 2)} "
                f"indicates that most institutions either consistently provide or do not provide this, "
                f"with variability shown by a standard deviation of {round(std_value, 2)}."
            )
        }
        return results
    else:
        return f"Column {column_name} not found in the dataset."

# Mapeamentos e métricas
metrics = [
    {"column": "f1_softwares_aval_v2", "mapping": {'excelente': 5, 'muito_bom': 4, 'bom': 3, 'razoavel': 2, 'ruim': 1}, "name": "Tools Usability"},
    {"column": "f1_aval_infra_v2", "mapping": {'sim': 1, 'nao': 0}, "name": "Infrastructure Efficiency"},
    {"column": "f1_dados_compart_ext_v2", "mapping": {'sim': 1, 'nao': 0}, "name": "Data Sharing"},
    {"column": "f1_suporte_ti_raras_v2", "mapping": {'sim': 1, 'nao': 0}, "name": "Technical Support"},
    {"column": "f1_capac_equi_v2", "mapping": {'sim': 1, 'nao': 0}, "name": "Training on Tools and Data"},
    {"column": "f1_capacitacao_raras_v2", "mapping": {'sim': 1, 'nao': 0}, "name": "Specific Training on Rare Diseases"}
]

# Analisar cada métrica
results = []
for metric in metrics:
    result = analyze_column(data, metric["column"], metric["mapping"], metric["name"])
    results.append(result)

# Mostrar os resultados
for res in results:
    print(res)
