James McCool
commited on
Commit
·
00f9a6c
1
Parent(s):
45351e3
Refactor player comparison logic in app.py and create_player_comparison.py
Browse files- Updated app.py to store the player comparison DataFrame in a local variable instead of session state, improving code clarity and reducing session state dependency.
- Adjusted the calculation of player exposure percentages in create_player_comparison.py to ensure accuracy by using the correct subset of data for each user.
- app.py +2 -3
- global_func/create_player_comparison.py +1 -1
app.py
CHANGED
@@ -436,8 +436,8 @@ with tab2:
|
|
436 |
else:
|
437 |
comp_player_select = comp_player_select
|
438 |
if comp_player_var == 'Yes':
|
439 |
-
|
440 |
-
st.dataframe(
|
441 |
else:
|
442 |
if st.session_state['entry_parse_var'] == 'All':
|
443 |
|
@@ -458,7 +458,6 @@ with tab2:
|
|
458 |
format(formatter='{:.2%}', subset=st.session_state['player_frame'].iloc[:, 2:].select_dtypes(include=['number']).columns),
|
459 |
hide_index=True)
|
460 |
else:
|
461 |
-
|
462 |
st.session_state['player_frame'] = create_player_exposures(st.session_state['display_contest_info'], st.session_state['player_columns'], st.session_state['entry_names'])
|
463 |
hold_frame = st.session_state['player_frame'].copy()
|
464 |
if sport_select == 'GOLF':
|
|
|
436 |
else:
|
437 |
comp_player_select = comp_player_select
|
438 |
if comp_player_var == 'Yes':
|
439 |
+
player_exp_comp = create_player_comparison(st.session_state['display_contest_info'], st.session_state['player_columns'], comp_player_select)
|
440 |
+
st.dataframe(player_exp_comp.style.background_gradient(cmap='RdYlGn', axis=1).format(formatter='{:.2%}', subset=player_exp_comp.select_dtypes(include=['number']).columns), hide_index=True)
|
441 |
else:
|
442 |
if st.session_state['entry_parse_var'] == 'All':
|
443 |
|
|
|
458 |
format(formatter='{:.2%}', subset=st.session_state['player_frame'].iloc[:, 2:].select_dtypes(include=['number']).columns),
|
459 |
hide_index=True)
|
460 |
else:
|
|
|
461 |
st.session_state['player_frame'] = create_player_exposures(st.session_state['display_contest_info'], st.session_state['player_columns'], st.session_state['entry_names'])
|
462 |
hold_frame = st.session_state['player_frame'].copy()
|
463 |
if sport_select == 'GOLF':
|
global_func/create_player_comparison.py
CHANGED
@@ -14,7 +14,7 @@ def create_player_comparison(df: pd.DataFrame, player_columns: list, entrants: l
|
|
14 |
overall_players = pd.Series(list(df[df['BaseName'] == each_user][player_columns].values.flatten())).value_counts()
|
15 |
|
16 |
set_frame = overall_players.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
|
17 |
-
set_frame['Percent'] = set_frame['Count'] / len(overall_players)
|
18 |
set_frame = set_frame[['Player', 'Percent']]
|
19 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_user}'})
|
20 |
player_frame = pd.merge(player_frame, set_frame, on='Player', how='outer')
|
|
|
14 |
overall_players = pd.Series(list(df[df['BaseName'] == each_user][player_columns].values.flatten())).value_counts()
|
15 |
|
16 |
set_frame = overall_players.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
|
17 |
+
set_frame['Percent'] = set_frame['Count'] / len(overall_players[overall_players['BaseName'] == each_user])
|
18 |
set_frame = set_frame[['Player', 'Percent']]
|
19 |
set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_user}'})
|
20 |
player_frame = pd.merge(player_frame, set_frame, on='Player', how='outer')
|