Spaces:
Running
Running
Artur Słomowski
commited on
Commit
·
c8c7c16
1
Parent(s):
b18be2e
use pills instead of multiselect
Browse files- .gitignore +1 -0
- app.py +35 -8
.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
venv
|
app.py
CHANGED
|
@@ -244,20 +244,47 @@ with tab1:
|
|
| 244 |
# Filter data based on selected providers
|
| 245 |
data = data[data["Model"].apply(lambda x: x.split('/')[0].lower()).isin(selected_providers)]
|
| 246 |
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 252 |
|
| 253 |
# Display data
|
| 254 |
styled_df_show = style_dataframe(data)
|
| 255 |
styled_df_show = styler(styled_df_show)
|
| 256 |
|
| 257 |
-
#
|
| 258 |
column_config = {}
|
| 259 |
|
| 260 |
-
#
|
| 261 |
if "Model" in styled_df_show.columns:
|
| 262 |
column_config["Model"] = st.column_config.TextColumn("Model", help="Model name", width="large") if "Model" in selected_columns else None
|
| 263 |
|
|
@@ -271,7 +298,7 @@ with tab1:
|
|
| 271 |
column_config[IMPLICATURES_AVERAGE_COLUMN_NAME] = st.column_config.NumberColumn(IMPLICATURES_AVERAGE_COLUMN_NAME) if IMPLICATURES_AVERAGE_COLUMN_NAME in selected_columns else None
|
| 272 |
|
| 273 |
if RESULTS_COLUMN_NAME in styled_df_show.columns:
|
| 274 |
-
# Results
|
| 275 |
column_config[RESULTS_COLUMN_NAME] = st.column_config.BarChartColumn(
|
| 276 |
"Bar chart of results", help="Summary of the results of each task",
|
| 277 |
y_min=0, y_max=5) if AVERAGE_COLUMN_NAME in selected_columns else None
|
|
|
|
| 244 |
# Filter data based on selected providers
|
| 245 |
data = data[data["Model"].apply(lambda x: x.split('/')[0].lower()).isin(selected_providers)]
|
| 246 |
|
| 247 |
+
|
| 248 |
+
# Define all possible columns
|
| 249 |
+
all_columns = {
|
| 250 |
+
"Model": "Model",
|
| 251 |
+
"Params": "Params",
|
| 252 |
+
AVERAGE_COLUMN_NAME: "Average",
|
| 253 |
+
IMPLICATURES_AVERAGE_COLUMN_NAME: "Impl. Avg",
|
| 254 |
+
SENTIMENT_COLUMN_NAME: "Sentiment",
|
| 255 |
+
UNDERSTANDING_COLUMN_NAME: "Understanding",
|
| 256 |
+
PHRASEOLOGY_COLUMN_NAME: "Phraseology",
|
| 257 |
+
TRICKY_QUESTIONS_COLUMN_NAME: "Tricky Questions"
|
| 258 |
+
}
|
| 259 |
+
|
| 260 |
+
# By default, all columns are selected
|
| 261 |
+
default_columns = list(all_columns.keys())
|
| 262 |
+
|
| 263 |
+
# Use pills to select visible columns in multi-selection mode
|
| 264 |
+
selected_column_labels = st.pills(
|
| 265 |
+
label="Visible columns",
|
| 266 |
+
options=list(all_columns.values()),
|
| 267 |
+
default=list(all_columns.values()), # Set all columns as default
|
| 268 |
+
selection_mode="multi", # Enable multi-selection mode
|
| 269 |
+
key="visible_columns_pills"
|
| 270 |
+
)
|
| 271 |
+
|
| 272 |
+
# Map selected labels back to column names
|
| 273 |
+
reverse_mapping = {v: k for k, v in all_columns.items()}
|
| 274 |
+
selected_columns = [reverse_mapping[label] for label in selected_column_labels]
|
| 275 |
+
|
| 276 |
+
# If nothing is selected, show all columns
|
| 277 |
+
if not selected_columns:
|
| 278 |
+
selected_columns = default_columns
|
| 279 |
|
| 280 |
# Display data
|
| 281 |
styled_df_show = style_dataframe(data)
|
| 282 |
styled_df_show = styler(styled_df_show)
|
| 283 |
|
| 284 |
+
# Customize column_config based on selected columns
|
| 285 |
column_config = {}
|
| 286 |
|
| 287 |
+
# Set configuration for all columns
|
| 288 |
if "Model" in styled_df_show.columns:
|
| 289 |
column_config["Model"] = st.column_config.TextColumn("Model", help="Model name", width="large") if "Model" in selected_columns else None
|
| 290 |
|
|
|
|
| 298 |
column_config[IMPLICATURES_AVERAGE_COLUMN_NAME] = st.column_config.NumberColumn(IMPLICATURES_AVERAGE_COLUMN_NAME) if IMPLICATURES_AVERAGE_COLUMN_NAME in selected_columns else None
|
| 299 |
|
| 300 |
if RESULTS_COLUMN_NAME in styled_df_show.columns:
|
| 301 |
+
# Show Results only if Average is selected
|
| 302 |
column_config[RESULTS_COLUMN_NAME] = st.column_config.BarChartColumn(
|
| 303 |
"Bar chart of results", help="Summary of the results of each task",
|
| 304 |
y_min=0, y_max=5) if AVERAGE_COLUMN_NAME in selected_columns else None
|