James McCool
commited on
Commit
·
d3bb780
1
Parent(s):
e00631e
Refactor contest player metrics calculation in app.py
Browse files- Consolidated the logic for calculating contest player metrics by moving the initialization of player subsets and contest length calculations outside of the loop, improving code clarity and efficiency.
- This change enhances the maintainability of the code and ensures accurate calculations of player exposure percentages across different contest sizes.
app.py
CHANGED
@@ -226,17 +226,16 @@ with tab2:
|
|
226 |
hide_index=True
|
227 |
)
|
228 |
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
len_20per = len(st.session_state['Contest']) * 0.20
|
240 |
player_counts = pd.Series(list(contest_players[player_columns].values.flatten())).value_counts()
|
241 |
player_1per_counts = pd.Series(list(players_1per[player_columns].values.flatten())).value_counts()
|
242 |
player_5per_counts = pd.Series(list(players_5per[player_columns].values.flatten())).value_counts()
|
@@ -261,7 +260,7 @@ with tab2:
|
|
261 |
player_count_var = 0
|
262 |
for each_set in [player_counts, player_1per_counts, player_5per_counts, player_10per_counts, player20_per_counts]:
|
263 |
set_frame = each_set.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
|
264 |
-
st.write(
|
265 |
set_frame['Percent'] = set_frame['Count'] / each_len_set[player_count_var]
|
266 |
set_frame = set_frame[['Player', 'Percent']]
|
267 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_set_name[player_count_var]}'})
|
@@ -279,7 +278,7 @@ with tab2:
|
|
279 |
stack_count_var = 0
|
280 |
for each_set in [stack_counts, stack_1per_counts, stack_5per_counts, stack_10per_counts, stack_20per_counts]:
|
281 |
set_frame = each_set.to_frame().reset_index().rename(columns={'index': 'Stack', 'count': 'Count'})
|
282 |
-
st.write(
|
283 |
set_frame['Percent'] = set_frame['Count'] / each_len_set[stack_count_var]
|
284 |
set_frame = set_frame[['Stack', 'Percent']]
|
285 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_set_name[stack_count_var]}'})
|
|
|
226 |
hide_index=True
|
227 |
)
|
228 |
|
229 |
+
contest_players = working_df.copy()
|
230 |
+
players_1per = working_df.head(int(len(working_df) * 0.01))
|
231 |
+
players_5per = working_df.head(int(len(working_df) * 0.05))
|
232 |
+
players_10per = working_df.head(int(len(working_df) * 0.10))
|
233 |
+
players_20per = working_df.head(int(len(working_df) * 0.20))
|
234 |
+
contest_len = len(contest_players)
|
235 |
+
len_1per = len(st.session_state['Contest']) * 0.01
|
236 |
+
len_5per = len(st.session_state['Contest']) * 0.05
|
237 |
+
len_10per = len(st.session_state['Contest']) * 0.10
|
238 |
+
len_20per = len(st.session_state['Contest']) * 0.20
|
|
|
239 |
player_counts = pd.Series(list(contest_players[player_columns].values.flatten())).value_counts()
|
240 |
player_1per_counts = pd.Series(list(players_1per[player_columns].values.flatten())).value_counts()
|
241 |
player_5per_counts = pd.Series(list(players_5per[player_columns].values.flatten())).value_counts()
|
|
|
260 |
player_count_var = 0
|
261 |
for each_set in [player_counts, player_1per_counts, player_5per_counts, player_10per_counts, player20_per_counts]:
|
262 |
set_frame = each_set.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
|
263 |
+
st.write(each_len_set[player_count_var])
|
264 |
set_frame['Percent'] = set_frame['Count'] / each_len_set[player_count_var]
|
265 |
set_frame = set_frame[['Player', 'Percent']]
|
266 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_set_name[player_count_var]}'})
|
|
|
278 |
stack_count_var = 0
|
279 |
for each_set in [stack_counts, stack_1per_counts, stack_5per_counts, stack_10per_counts, stack_20per_counts]:
|
280 |
set_frame = each_set.to_frame().reset_index().rename(columns={'index': 'Stack', 'count': 'Count'})
|
281 |
+
st.write(each_len_set[player_count_var])
|
282 |
set_frame['Percent'] = set_frame['Count'] / each_len_set[stack_count_var]
|
283 |
set_frame = set_frame[['Stack', 'Percent']]
|
284 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_set_name[stack_count_var]}'})
|