James McCool
commited on
Commit
·
a20fb3f
1
Parent(s):
5dedddf
Refactor stacking logic in app.py to conditionally apply calculations for 'Stack' and 'Size' columns based on their existence in the DataFrame. This change improves code robustness and prevents potential errors during data processing.
Browse files
app.py
CHANGED
|
@@ -2062,21 +2062,22 @@ if selected_tab == 'Manage Portfolio':
|
|
| 2062 |
# st.session_state['working_frame'] = predict_dupes(st.session_state['working_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var)
|
| 2063 |
st.session_state['working_frame'] = reassess_edge(st.session_state['working_frame'], st.session_state['base_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var, salary_max)
|
| 2064 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 2065 |
-
|
| 2066 |
-
|
| 2067 |
-
|
| 2068 |
-
|
| 2069 |
-
|
| 2070 |
-
|
| 2071 |
-
|
| 2072 |
-
|
| 2073 |
-
|
| 2074 |
-
|
| 2075 |
-
|
| 2076 |
-
|
| 2077 |
-
|
| 2078 |
-
|
| 2079 |
-
|
|
|
|
| 2080 |
elif exp_submitted:
|
| 2081 |
st.session_state['settings_base'] = False
|
| 2082 |
# Prepare DataFrame for exposure_spread to avoid categorical issues
|
|
@@ -2099,21 +2100,22 @@ if selected_tab == 'Manage Portfolio':
|
|
| 2099 |
# st.session_state['export_base'] = predict_dupes(st.session_state['export_base'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var)
|
| 2100 |
st.session_state['export_base'] = reassess_edge(st.session_state['export_base'], st.session_state['base_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var, salary_max)
|
| 2101 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 2102 |
-
|
| 2103 |
-
|
| 2104 |
-
|
| 2105 |
-
|
| 2106 |
-
|
| 2107 |
-
|
| 2108 |
-
|
| 2109 |
-
|
| 2110 |
-
|
| 2111 |
-
|
| 2112 |
-
|
| 2113 |
-
|
| 2114 |
-
|
| 2115 |
-
|
| 2116 |
-
|
|
|
|
| 2117 |
|
| 2118 |
with st.container():
|
| 2119 |
if 'export_base' not in st.session_state:
|
|
|
|
| 2062 |
# st.session_state['working_frame'] = predict_dupes(st.session_state['working_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var)
|
| 2063 |
st.session_state['working_frame'] = reassess_edge(st.session_state['working_frame'], st.session_state['base_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var, salary_max)
|
| 2064 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 2065 |
+
if 'Stack' in st.session_state['working_frame'].columns:
|
| 2066 |
+
st.session_state['working_frame']['Stack'] = st.session_state['working_frame'].apply(
|
| 2067 |
+
lambda row: Counter(
|
| 2068 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]
|
| 2069 |
+
if team_dict.get(player, '') != ''
|
| 2070 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]) else '',
|
| 2071 |
+
axis=1
|
| 2072 |
+
)
|
| 2073 |
+
st.session_state['working_frame']['Size'] = st.session_state['working_frame'].apply(
|
| 2074 |
+
lambda row: Counter(
|
| 2075 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]
|
| 2076 |
+
if team_dict.get(player, '') != ''
|
| 2077 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]) else 0,
|
| 2078 |
+
axis=1
|
| 2079 |
+
)
|
| 2080 |
+
st.session_state['export_merge'] = st.session_state['working_frame'].copy()
|
| 2081 |
elif exp_submitted:
|
| 2082 |
st.session_state['settings_base'] = False
|
| 2083 |
# Prepare DataFrame for exposure_spread to avoid categorical issues
|
|
|
|
| 2100 |
# st.session_state['export_base'] = predict_dupes(st.session_state['export_base'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var)
|
| 2101 |
st.session_state['export_base'] = reassess_edge(st.session_state['export_base'], st.session_state['base_frame'], st.session_state['map_dict'], site_var, type_var, Contest_Size, strength_var, sport_var, salary_max)
|
| 2102 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 2103 |
+
if 'Stack' in st.session_state['export_base'].columns:
|
| 2104 |
+
st.session_state['export_base']['Stack'] = st.session_state['export_base'].apply(
|
| 2105 |
+
lambda row: Counter(
|
| 2106 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]
|
| 2107 |
+
if team_dict.get(player, '') != ''
|
| 2108 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]) else '',
|
| 2109 |
+
axis=1
|
| 2110 |
+
)
|
| 2111 |
+
st.session_state['export_base']['Size'] = st.session_state['export_base'].apply(
|
| 2112 |
+
lambda row: Counter(
|
| 2113 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]
|
| 2114 |
+
if team_dict.get(player, '') != ''
|
| 2115 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][type_var][sport_var]]) else 0,
|
| 2116 |
+
axis=1
|
| 2117 |
+
)
|
| 2118 |
+
st.session_state['export_merge'] = st.session_state['export_base'].copy()
|
| 2119 |
|
| 2120 |
with st.container():
|
| 2121 |
if 'export_base' not in st.session_state:
|