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')
|