in parse.py [0:0]
def format_result_tables(df, run_groups, do_anova=False):
if do_anova:
df = anova_test(df, run_groups, "min_acc_te")
df = df.reset_index()
if not args.full:
df = df[["dataset", "method", "Groups", "#HP", "min_acc_te", "time"]]
df = df.rename(
columns={"min_acc_te": "Worst Acc", "time": "Time (h)", "method": "Method"}
)
multip = 100 if args.col_to_show == "Worst Acc" else 1
avg_accs_per_method = (
(multip * df.groupby("Method").mean()[(args.col_to_show, "mean")])
.map("{:.1f}".format)
.reset_index(name="Average")
)
if args.bold:
bold = {
"best_metric": args.col_to_show,
"order": False if "acc" in args.col_to_show.lower() else True,
"best_metric_group": ["dataset", "Groups"],
}
else:
bold = False
term_df = convert_df_to_readable_format(df, bold, latex=False)
term_df = reorganize_df(term_df, col_to_show=args.col_to_show)
term_df = term_df.merge(avg_accs_per_method, on="Method", how="left")
print(term_df)
latex_df = convert_df_to_readable_format(df, bold, latex=True)
latex_df = reorganize_df(latex_df, col_to_show=args.col_to_show)
latex_df = latex_df.merge(avg_accs_per_method, on="Method", how="left")
os.makedirs("tables", exist_ok=True)
open(
f'tables/result_{args.col_to_show.replace(" ", "_").replace("(","").replace(")","").lower()}_1.tex',
"w",
).write(final_latex_table(latex_df, df, do_anova, args.col_to_show))