Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| from pathlib import Path | |
| from gradio_leaderboard_group import Leaderboard, SelectColumns | |
| import typing as tp | |
| import collections | |
| def mk_leaderboard( | |
| csv_file: Path, | |
| default_selection: tp.List[str], | |
| core_columns: tp.List[str], | |
| filter_columns: tp.List[str], | |
| search_columns: tp.List[str], | |
| categories: tp.Dict[str, str] = {}, | |
| ): | |
| df = pd.read_csv(csv_file) | |
| groups = collections.OrderedDict({'Overall':[]}) | |
| for k in categories.values(): | |
| groups[k] = [] | |
| default_selection = [] | |
| for k, v in categories.items(): | |
| if v not in default_selection: | |
| for k in list(df.columns): | |
| if k.startswith(v): | |
| groups['Overall'].append(k) | |
| default_selection.append(k) | |
| for col in list(df.columns): | |
| for k in categories.keys(): | |
| if col.startswith(k): | |
| cat = categories[k] | |
| groups[cat].append(col) | |
| break | |
| Leaderboard( | |
| value=df, | |
| select_columns=SelectColumns( | |
| default_selection=core_columns+default_selection, | |
| cant_deselect=core_columns, | |
| label="Select Columns to Display:", | |
| groups=groups, | |
| ), | |
| search_columns=search_columns, | |
| hide_columns=[], | |
| filter_columns=filter_columns, | |
| ) |