Spaces:
Sleeping
Sleeping
Nicolas Wagner commited on
Commit ·
4be69f1
1
Parent(s): d244f6d
handling empty dataframes
Browse files
app.py
CHANGED
|
@@ -90,37 +90,53 @@ def init_leaderboard(dataframe):
|
|
| 90 |
interactive=False,
|
| 91 |
)
|
| 92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
column_to_type = {c.name: c.type for c in team_columns}
|
| 94 |
datatypes = [column_to_type.get(col, "str") for col in dataframe.columns]
|
| 95 |
|
| 96 |
default_selection = [
|
| 97 |
-
c.name
|
| 98 |
for c in team_columns
|
| 99 |
-
if getattr(c, "displayed_by_default", False) and c.name and c.name in dataframe.columns
|
| 100 |
]
|
|
|
|
| 101 |
cant_deselect = [
|
| 102 |
-
|
|
|
|
|
|
|
| 103 |
]
|
|
|
|
| 104 |
hide_cols = [
|
| 105 |
-
|
|
|
|
|
|
|
| 106 |
]
|
| 107 |
|
| 108 |
search_cols = []
|
| 109 |
if hasattr(TeamColumn, "team_name") and hasattr(TeamColumn.team_name, "name"):
|
| 110 |
search_col_name = TeamColumn.team_name.name
|
| 111 |
-
if search_col_name and search_col_name in dataframe.columns:
|
| 112 |
-
search_cols = [search_col_name]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
|
| 114 |
return Leaderboard(
|
| 115 |
value=dataframe,
|
| 116 |
datatype=datatypes,
|
| 117 |
select_columns=SelectColumns(
|
| 118 |
-
default_selection=default_selection,
|
| 119 |
-
cant_deselect=cant_deselect,
|
| 120 |
label="Select Columns to Display:",
|
| 121 |
),
|
| 122 |
-
search_columns=search_cols,
|
| 123 |
-
hide_columns=hide_cols,
|
| 124 |
filter_columns=[],
|
| 125 |
interactive=False,
|
| 126 |
)
|
|
|
|
| 90 |
interactive=False,
|
| 91 |
)
|
| 92 |
|
| 93 |
+
missing_cols = [col for col in COLS if col not in dataframe.columns]
|
| 94 |
+
if missing_cols:
|
| 95 |
+
for col in missing_cols:
|
| 96 |
+
dataframe[col] = None
|
| 97 |
+
|
| 98 |
column_to_type = {c.name: c.type for c in team_columns}
|
| 99 |
datatypes = [column_to_type.get(col, "str") for col in dataframe.columns]
|
| 100 |
|
| 101 |
default_selection = [
|
| 102 |
+
str(c.name)
|
| 103 |
for c in team_columns
|
| 104 |
+
if getattr(c, "displayed_by_default", False) and c.name is not None and str(c.name) in dataframe.columns
|
| 105 |
]
|
| 106 |
+
|
| 107 |
cant_deselect = [
|
| 108 |
+
str(c.name)
|
| 109 |
+
for c in team_columns
|
| 110 |
+
if getattr(c, "never_hidden", False) and c.name is not None and str(c.name) in dataframe.columns
|
| 111 |
]
|
| 112 |
+
|
| 113 |
hide_cols = [
|
| 114 |
+
str(c.name)
|
| 115 |
+
for c in team_columns
|
| 116 |
+
if getattr(c, "hidden", False) and c.name is not None and str(c.name) in dataframe.columns
|
| 117 |
]
|
| 118 |
|
| 119 |
search_cols = []
|
| 120 |
if hasattr(TeamColumn, "team_name") and hasattr(TeamColumn.team_name, "name"):
|
| 121 |
search_col_name = TeamColumn.team_name.name
|
| 122 |
+
if search_col_name is not None and str(search_col_name) in dataframe.columns:
|
| 123 |
+
search_cols = [str(search_col_name)]
|
| 124 |
+
|
| 125 |
+
default_selection = [c for c in default_selection if c is not None]
|
| 126 |
+
cant_deselect = [c for c in cant_deselect if c is not None]
|
| 127 |
+
hide_cols = [c for c in hide_cols if c is not None]
|
| 128 |
+
search_cols = [c for c in search_cols if c is not None]
|
| 129 |
|
| 130 |
return Leaderboard(
|
| 131 |
value=dataframe,
|
| 132 |
datatype=datatypes,
|
| 133 |
select_columns=SelectColumns(
|
| 134 |
+
default_selection=default_selection if default_selection else [],
|
| 135 |
+
cant_deselect=cant_deselect if cant_deselect else [],
|
| 136 |
label="Select Columns to Display:",
|
| 137 |
),
|
| 138 |
+
search_columns=search_cols if search_cols else [],
|
| 139 |
+
hide_columns=hide_cols if hide_cols else [],
|
| 140 |
filter_columns=[],
|
| 141 |
interactive=False,
|
| 142 |
)
|