DontPlanToEnd commited on
Commit
f99d593
Β·
verified Β·
1 Parent(s): 8802c2f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -21
app.py CHANGED
@@ -41,17 +41,15 @@ def load_leaderboard_data(csv_file_path):
41
  df['pinned'] = False
42
  df['selected'] = False
43
 
 
 
 
 
 
44
  # Round numeric columns and handle NA values
45
  numeric_columns = df.select_dtypes(include=[np.number]).columns
46
  for col in numeric_columns:
47
- df[col] = df[col].apply(lambda x: -999999 if pd.isna(x) else round(x, 3))
48
-
49
- # Handle Political Lean separately
50
- df['Political Lean πŸ“‹'] = pd.to_numeric(df['Political Lean πŸ“‹'].str.rstrip('%'), errors='coerce')
51
- df['Political Lean πŸ“‹'] = df['Political Lean πŸ“‹'].apply(lambda x: -999999 if pd.isna(x) else x)
52
-
53
- # Convert the special value to None for display
54
- df = df.replace({-999999: None})
55
 
56
  return df
57
  except Exception as e:
@@ -525,14 +523,29 @@ columnDefs = [
525
 
526
  # Add axes columns with different widths
527
  for i, col in enumerate(AXES_COLS_1):
528
- col_def = create_numeric_column(col, width=105) # Narrower
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  if i == 0: # First column (govt)
530
- col_def["cellClass"] = ["ag-left-aligned-cell", "border-left"]
531
  elif i == len(AXES_COLS_1) - 1: # Last column (scty)
532
- col_def["cellClass"] = ["ag-left-aligned-cell", "border-right"]
533
- else: # Middle columns
534
- col_def["cellClass"] = ["ag-left-aligned-cell"]
535
  columnDefs.append(col_def)
 
536
  template_with_split_header = """
537
  <div class="ag-cell-label-container" role="presentation">
538
  <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button"></span>
@@ -559,20 +572,15 @@ for col in AXES_COLS_2:
559
  "template": template_with_split_header.format(high=high, low=low)
560
  },
561
  "width": 175,
562
- "sortable": True,
563
  "filter": "agNumberColumnFilter",
564
  "filterParams": {
565
  "defaultOption": "inRange",
566
  "filterOptions": ['equals', 'notEqual', 'greaterThan', 'greaterThanOrEqual', 'lessThan', 'lessThanOrEqual', 'inRange']
567
  },
568
  "valueFormatter": {
569
- "function": """
570
- function(params) {
571
- if (params.value === null || params.value === undefined) return '';
572
- return d3.format('.1f')(params.value) + '%';
573
- }
574
- """
575
- }
576
  })
577
 
578
  # Date Columns
@@ -828,6 +836,12 @@ app.layout = html.Div([
828
  html.Li("Scty: Higher = Progressive values, Lower = Traditional values")
829
  ], style={'marginTop': '0px', 'marginBottom': '16px'}),
830
 
 
 
 
 
 
 
831
  html.Br(),
832
 
833
  html.P("All local models are tested using Q6_K.gguf quants.")
 
41
  df['pinned'] = False
42
  df['selected'] = False
43
 
44
+ # Convert percentage strings to floats for all relevant columns
45
+ percentage_columns = ['Political Lean πŸ“‹'] + AXES_COLS_1 + AXES_COLS_2
46
+ for col in percentage_columns:
47
+ df[col] = pd.to_numeric(df[col].astype(str).str.rstrip('%'), errors='coerce')
48
+
49
  # Round numeric columns and handle NA values
50
  numeric_columns = df.select_dtypes(include=[np.number]).columns
51
  for col in numeric_columns:
52
+ df[col] = df[col].apply(lambda x: None if pd.isna(x) else round(x, 3))
 
 
 
 
 
 
 
53
 
54
  return df
55
  except Exception as e:
 
523
 
524
  # Add axes columns with different widths
525
  for i, col in enumerate(AXES_COLS_1):
526
+ col_def = {
527
+ "field": col,
528
+ "width": 105,
529
+ "filter": "agNumberColumnFilter",
530
+ "filterParams": {
531
+ "defaultOption": "inRange",
532
+ "filterOptions": ['equals', 'notEqual', 'greaterThan', 'greaterThanOrEqual', 'lessThan', 'lessThanOrEqual', 'inRange']
533
+ },
534
+ "valueFormatter": {
535
+ "function": "d3.format('.1f')(params.value) + '%'"
536
+ },
537
+ "headerClass": "ag-left-aligned-header wrap-text",
538
+ "cellClass": ["ag-left-aligned-cell"],
539
+ "sortingOrder": ['desc', 'asc']
540
+ }
541
+
542
  if i == 0: # First column (govt)
543
+ col_def["cellClass"].append("border-left")
544
  elif i == len(AXES_COLS_1) - 1: # Last column (scty)
545
+ col_def["cellClass"].append("border-right")
546
+
 
547
  columnDefs.append(col_def)
548
+
549
  template_with_split_header = """
550
  <div class="ag-cell-label-container" role="presentation">
551
  <span ref="eMenu" class="ag-header-icon ag-header-cell-menu-button"></span>
 
572
  "template": template_with_split_header.format(high=high, low=low)
573
  },
574
  "width": 175,
 
575
  "filter": "agNumberColumnFilter",
576
  "filterParams": {
577
  "defaultOption": "inRange",
578
  "filterOptions": ['equals', 'notEqual', 'greaterThan', 'greaterThanOrEqual', 'lessThan', 'lessThanOrEqual', 'inRange']
579
  },
580
  "valueFormatter": {
581
+ "function": "d3.format('.1f')(params.value) + '%'"
582
+ },
583
+ "sortingOrder": ['desc', 'asc']
 
 
 
 
584
  })
585
 
586
  # Date Columns
 
836
  html.Li("Scty: Higher = Progressive values, Lower = Traditional values")
837
  ], style={'marginTop': '0px', 'marginBottom': '16px'}),
838
 
839
+ html.P([
840
+ "For the 12 political axes, the percentage shown is how much the model aligns with the trait on the ",
841
+ html.U("left side of the hyphen"),
842
+ "."
843
+ ]),
844
+
845
  html.Br(),
846
 
847
  html.P("All local models are tested using Q6_K.gguf quants.")