James McCool commited on
Commit
28939d0
·
1 Parent(s): ede753b

Update session state management in app.py for adjusted dataframes

Browse files

- Refactored session state variables to use 'Adj_' prefix for adjusted dataframes, enhancing clarity in data handling.
- Updated logic for name mismatches and salary formatting to reflect the new dataframe names.
- Improved player column processing and mapping dictionary creation to utilize adjusted dataframes, streamlining data processing and presentation.

Files changed (1) hide show
  1. app.py +22 -22
app.py CHANGED
@@ -74,34 +74,34 @@ with tab1:
74
 
75
  if Contest_file and projections_file:
76
  st.subheader("Name Matching functions")
77
- st.session_state['Contest'], st.session_state['projections_df'], st.session_state['ownership_df'], st.session_state['actual_df'] = find_name_mismatches(st.session_state['Contest'], st.session_state['projections_df'], st.session_state['ownership_df'], st.session_state['actual_df'])
78
- st.session_state['projections_df']['salary'] = (st.session_state['projections_df']['salary'].astype(str).str.replace(',', '').astype(float).astype(int))
79
- st.session_state['ownership_dict'] = dict(zip(st.session_state['ownership_df']['Player'], st.session_state['ownership_df']['Own']))
80
- st.session_state['actual_dict'] = dict(zip(st.session_state['actual_df']['Player'], st.session_state['actual_df']['FPTS']))
81
 
82
 
83
  with tab2:
84
  excluded_cols = ['BaseName', 'EntryCount']
85
- player_columns = [col for col in st.session_state['Contest'].columns if col not in excluded_cols]
86
- for col in player_columns:
87
- st.session_state['Contest'][col] = st.session_state['Contest'][col].astype(str)
 
88
 
89
- # Create mapping dictionaries
90
- map_dict = {
91
- 'pos_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['position'])),
92
- 'team_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team'])),
93
- 'salary_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['salary'])),
94
- 'proj_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['median'])),
95
- 'own_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['ownership'])),
96
- 'own_percent_rank': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['ownership'].rank(pct=True))),
97
- 'cpt_salary_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['salary'])),
98
- 'cpt_proj_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['median'] * 1.5)),
99
- 'cpt_own_map': dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['captain ownership']))
100
- }
101
- # Create a copy of the dataframe for calculations
102
- working_df = st.session_state['Contest'].copy()
103
 
104
- if 'Contest' in st.session_state and 'projections_df' in st.session_state:
105
  if type_var == 'Classic':
106
  working_df['stack'] = working_df.apply(
107
  lambda row: Counter(
 
74
 
75
  if Contest_file and projections_file:
76
  st.subheader("Name Matching functions")
77
+ st.session_state['Adj_Contest'], st.session_state['Adj_projections_df'], st.session_state['Adj_ownership_df'], st.session_state['Adj_actual_df'] = find_name_mismatches(st.session_state['Contest'], st.session_state['projections_df'], st.session_state['ownership_df'], st.session_state['actual_df'])
78
+ st.session_state['Adj_projections_df']['salary'] = (st.session_state['Adj_projections_df']['salary'].astype(str).str.replace(',', '').astype(float).astype(int))
79
+ st.session_state['ownership_dict'] = dict(zip(st.session_state['Adj_ownership_df']['Player'], st.session_state['Adj_ownership_df']['Own']))
80
+ st.session_state['actual_dict'] = dict(zip(st.session_state['Adj_actual_df']['Player'], st.session_state['Adj_actual_df']['FPTS']))
81
 
82
 
83
  with tab2:
84
  excluded_cols = ['BaseName', 'EntryCount']
85
+ if 'Adj_Contest' in st.session_state and 'Adj_projections_df' in st.session_state:
86
+ player_columns = [col for col in st.session_state['Adj_Contest'].columns if col not in excluded_cols]
87
+ for col in player_columns:
88
+ st.session_state['Adj_Contest'][col] = st.session_state['Adj_Contest'][col].astype(str)
89
 
90
+ # Create mapping dictionaries
91
+ map_dict = {
92
+ 'pos_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['position'])),
93
+ 'team_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['team'])),
94
+ 'salary_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['salary'])),
95
+ 'proj_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['median'])),
96
+ 'own_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['ownership'])),
97
+ 'own_percent_rank': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['ownership'].rank(pct=True))),
98
+ 'cpt_salary_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['salary'])),
99
+ 'cpt_proj_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['median'] * 1.5)),
100
+ 'cpt_own_map': dict(zip(st.session_state['Adj_projections_df']['player_names'], st.session_state['Adj_projections_df']['captain ownership']))
101
+ }
102
+ # Create a copy of the dataframe for calculations
103
+ working_df = st.session_state['Adj_Contest'].copy()
104
 
 
105
  if type_var == 'Classic':
106
  working_df['stack'] = working_df.apply(
107
  lambda row: Counter(