shyuli commited on
Commit
7ea23dc
·
1 Parent(s): ed93956

version v0.1

Browse files
Files changed (1) hide show
  1. src/populate.py +25 -5
src/populate.py CHANGED
@@ -14,15 +14,35 @@ def get_leaderboard_df(results_path: str, requests_path: str, cols: list, benchm
14
  all_data_json = [v.to_dict() for v in raw_data]
15
 
16
  df = pd.DataFrame.from_records(all_data_json)
17
- df = df.sort_values(by=[AutoEvalColumn.average.name], ascending=False)
18
 
19
- # Add ranking based on average score
20
- df[AutoEvalColumn.rank.name] = range(1, len(df) + 1)
 
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  df = df[cols].round(decimals=2)
23
 
24
- # filter out if any of the benchmarks have not been produced
25
- df = df[has_no_nan_values(df, benchmark_cols)]
 
 
26
  return df
27
 
28
 
 
14
  all_data_json = [v.to_dict() for v in raw_data]
15
 
16
  df = pd.DataFrame.from_records(all_data_json)
 
17
 
18
+ # If empty (e.g., first run on HF Spaces), return empty frame with expected columns
19
+ if df.empty:
20
+ return pd.DataFrame(columns=cols)
21
 
22
+ # Ensure Average exists; compute from available benchmark columns if missing
23
+ average_col = AutoEvalColumn.average.name
24
+ present_bench_cols = [c for c in benchmark_cols if c in df.columns]
25
+ if average_col not in df.columns and len(present_bench_cols) > 0:
26
+ df[average_col] = df[present_bench_cols].mean(axis=1)
27
+
28
+ # Sort if Average present
29
+ if average_col in df.columns:
30
+ df = df.sort_values(by=[average_col], ascending=False)
31
+
32
+ # Add rank if Average present
33
+ if average_col in df.columns:
34
+ df[AutoEvalColumn.rank.name] = range(1, len(df) + 1)
35
+
36
+ # Add any missing columns as NA and reorder
37
+ for c in cols:
38
+ if c not in df.columns:
39
+ df[c] = pd.NA
40
  df = df[cols].round(decimals=2)
41
 
42
+ # Filter NaNs only on existing benchmark columns
43
+ safe_benchmark_cols = [c for c in benchmark_cols if c in df.columns]
44
+ if len(safe_benchmark_cols) > 0:
45
+ df = df[has_no_nan_values(df, safe_benchmark_cols)]
46
  return df
47
 
48