Spaces:
Running
Running
import pandas as pd | |
def norm_sNavie(df): | |
df_normalized = df.copy() | |
seasonal_naive_row = df[df['model'] == 'seasonal_naive'].iloc[0] | |
print('df: ',df) | |
for column in df.columns: | |
if column != 'model': # We skip normalizing the 'model' column | |
df_normalized[column] = df[column] / seasonal_naive_row[column] | |
return df_normalized | |
def pivot_df(file_name, tab_name): | |
df = pd.read_csv(file_name) | |
if tab_name == 'univariate': | |
df['univariate'] = df['univariate'].replace({True: 'univariate', False: 'multivariate'}) | |
df.rename(columns={'univariate': 'variate_type'}, inplace=True) | |
tab_name = 'variate_type' | |
df_melted = pd.melt(df, id_vars=[tab_name, 'model'], var_name='metric', value_name='value') | |
df_melted['metric'] = df_melted['metric'].replace({ | |
'eval_metrics/MAPE[0.5]': 'MAPE', | |
'eval_metrics/mean_weighted_sum_quantile_loss': 'CRPS' | |
}) | |
df_pivot = df_melted.pivot_table(index='model', columns=[tab_name, 'metric'], values='value') | |
df_pivot.columns = [f'{tab_name} ({metric})' for tab_name, metric in df_pivot.columns] | |
# df_pivot.to_csv('pivoted_df.csv') | |
# print(df_pivot) | |
df_pivot = df_pivot.reset_index() | |
return df_pivot |