Spaces:
Sleeping
Sleeping
James McCool
commited on
Commit
·
40e191a
1
Parent(s):
a7fac7f
Refactor player filtering logic in app.py to utilize dynamic player column selection. Updated include and remove masks to improve accuracy in filtering lineups based on user-defined criteria, enhancing overall functionality and maintainability.
Browse files
app.py
CHANGED
|
@@ -1315,37 +1315,53 @@ with tab2:
|
|
| 1315 |
if reg_submitted:
|
| 1316 |
st.session_state['settings_base'] = False
|
| 1317 |
parsed_frame = st.session_state['working_frame'].copy()
|
|
|
|
|
|
|
|
|
|
| 1318 |
|
| 1319 |
-
#
|
| 1320 |
if conditional_include_players:
|
| 1321 |
-
include_mask = parsed_frame[
|
|
|
|
|
|
|
| 1322 |
else:
|
| 1323 |
-
include_mask = True
|
| 1324 |
|
| 1325 |
if conditional_remove_players:
|
| 1326 |
-
remove_mask = parsed_frame[
|
|
|
|
|
|
|
| 1327 |
else:
|
| 1328 |
-
remove_mask = True
|
| 1329 |
|
| 1330 |
parsed_frame = parsed_frame[include_mask & remove_mask]
|
|
|
|
| 1331 |
st.session_state['working_frame'] = parsed_frame.sort_values(by='median', ascending=False).reset_index(drop=True)
|
| 1332 |
st.session_state['export_merge'] = st.session_state['working_frame'].copy()
|
| 1333 |
elif exp_submitted:
|
| 1334 |
st.session_state['settings_base'] = False
|
| 1335 |
parsed_frame = st.session_state['export_base'].copy()
|
| 1336 |
|
| 1337 |
-
#
|
|
|
|
|
|
|
|
|
|
| 1338 |
if conditional_include_players:
|
| 1339 |
-
include_mask = parsed_frame[
|
|
|
|
|
|
|
| 1340 |
else:
|
| 1341 |
-
include_mask = True
|
| 1342 |
|
| 1343 |
if conditional_remove_players:
|
| 1344 |
-
remove_mask = parsed_frame[
|
|
|
|
|
|
|
| 1345 |
else:
|
| 1346 |
-
remove_mask = True
|
| 1347 |
|
| 1348 |
parsed_frame = parsed_frame[include_mask & remove_mask]
|
|
|
|
| 1349 |
st.session_state['export_base'] = parsed_frame.sort_values(by='median', ascending=False).reset_index(drop=True)
|
| 1350 |
st.session_state['export_merge'] = st.session_state['export_base'].copy()
|
| 1351 |
|
|
|
|
| 1315 |
if reg_submitted:
|
| 1316 |
st.session_state['settings_base'] = False
|
| 1317 |
parsed_frame = st.session_state['working_frame'].copy()
|
| 1318 |
+
|
| 1319 |
+
# Get player columns (excluding non-player columns)
|
| 1320 |
+
player_columns = [col for col in parsed_frame.columns if col not in excluded_cols]
|
| 1321 |
|
| 1322 |
+
# Create masks similar to lines 1205-1211
|
| 1323 |
if conditional_include_players:
|
| 1324 |
+
include_mask = parsed_frame[player_columns].apply(
|
| 1325 |
+
lambda row: all(player in list(row) for player in conditional_include_players), axis=1
|
| 1326 |
+
)
|
| 1327 |
else:
|
| 1328 |
+
include_mask = pd.Series([True] * len(parsed_frame))
|
| 1329 |
|
| 1330 |
if conditional_remove_players:
|
| 1331 |
+
remove_mask = parsed_frame[player_columns].apply(
|
| 1332 |
+
lambda row: not any(player in list(row) for player in conditional_remove_players), axis=1
|
| 1333 |
+
)
|
| 1334 |
else:
|
| 1335 |
+
remove_mask = pd.Series([True] * len(parsed_frame))
|
| 1336 |
|
| 1337 |
parsed_frame = parsed_frame[include_mask & remove_mask]
|
| 1338 |
+
|
| 1339 |
st.session_state['working_frame'] = parsed_frame.sort_values(by='median', ascending=False).reset_index(drop=True)
|
| 1340 |
st.session_state['export_merge'] = st.session_state['working_frame'].copy()
|
| 1341 |
elif exp_submitted:
|
| 1342 |
st.session_state['settings_base'] = False
|
| 1343 |
parsed_frame = st.session_state['export_base'].copy()
|
| 1344 |
|
| 1345 |
+
# Get player columns (excluding non-player columns)
|
| 1346 |
+
player_columns = [col for col in parsed_frame.columns if col not in excluded_cols]
|
| 1347 |
+
|
| 1348 |
+
# Create masks similar to lines 1205-1211
|
| 1349 |
if conditional_include_players:
|
| 1350 |
+
include_mask = parsed_frame[player_columns].apply(
|
| 1351 |
+
lambda row: all(player in list(row) for player in conditional_include_players), axis=1
|
| 1352 |
+
)
|
| 1353 |
else:
|
| 1354 |
+
include_mask = pd.Series([True] * len(parsed_frame))
|
| 1355 |
|
| 1356 |
if conditional_remove_players:
|
| 1357 |
+
remove_mask = parsed_frame[player_columns].apply(
|
| 1358 |
+
lambda row: not any(player in list(row) for player in conditional_remove_players), axis=1
|
| 1359 |
+
)
|
| 1360 |
else:
|
| 1361 |
+
remove_mask = pd.Series([True] * len(parsed_frame))
|
| 1362 |
|
| 1363 |
parsed_frame = parsed_frame[include_mask & remove_mask]
|
| 1364 |
+
|
| 1365 |
st.session_state['export_base'] = parsed_frame.sort_values(by='median', ascending=False).reset_index(drop=True)
|
| 1366 |
st.session_state['export_merge'] = st.session_state['export_base'].copy()
|
| 1367 |
|