Kevin Xie commited on
Commit
518d9c9
·
1 Parent(s): e2bcb05

Update filter to update rank with each filter selection

Browse files
Files changed (1) hide show
  1. utils/filter_manager.py +11 -0
utils/filter_manager.py CHANGED
@@ -132,6 +132,7 @@ class FilterManager:
132
  # If no filters are applied, reset to original performance
133
  if self.is_empty(self.filter_states[leaderboard_type]):
134
  df["Average Performance"] = self.data_loader.get_original_performance(leaderboard_type)
 
135
  return df
136
 
137
  # Get filtered columns
@@ -146,6 +147,16 @@ class FilterManager:
146
  # Map the values to the 'Average Performance' column based on index
147
  df["Average Performance"] = df.index.map(updated_performance_int)
148
 
 
 
 
 
 
 
 
 
 
 
149
  # Return dataframe with filtered columns
150
  base_columns = ['T', 'Model', 'Model: Domain', 'Model: Accessibility', 'Model: Size Range', 'Size (B)', 'Average Performance']
151
  return df[base_columns + filtered_cols]
 
132
  # If no filters are applied, reset to original performance
133
  if self.is_empty(self.filter_states[leaderboard_type]):
134
  df["Average Performance"] = self.data_loader.get_original_performance(leaderboard_type)
135
+ # Reset T column to original values when no filters are applied
136
  return df
137
 
138
  # Get filtered columns
 
147
  # Map the values to the 'Average Performance' column based on index
148
  df["Average Performance"] = df.index.map(updated_performance_int)
149
 
150
+ # Update T column to reflect new ranking based on filtered average performance
151
+ # Sort by Average Performance in descending order and assign ranks 1, 2, 3, etc.
152
+ df_sorted = df.sort_values(by="Average Performance", ascending=False, na_position='last')
153
+ rank_mapping = {}
154
+ for rank, idx in enumerate(df_sorted.index):
155
+ rank_mapping[idx] = rank + 1
156
+
157
+ # Apply the new ranking to the T column
158
+ df["T"] = df.index.map(rank_mapping)
159
+
160
  # Return dataframe with filtered columns
161
  base_columns = ['T', 'Model', 'Model: Domain', 'Model: Accessibility', 'Model: Size Range', 'Size (B)', 'Average Performance']
162
  return df[base_columns + filtered_cols]