James McCool
commited on
Commit
·
b44c733
1
Parent(s):
4fdebbd
Enhance projections file upload functionality by adding a selection option for sourcing projections from either 'User Upload' or 'Paydirt DB'. Update init_nfl_baselines function to accept additional parameters for site and slate, and filter projections based on these parameters, improving data handling and user experience.
Browse files- app.py +6 -1
- database_queries.py +13 -11
app.py
CHANGED
|
@@ -653,13 +653,18 @@ if selected_tab == 'Data Load':
|
|
| 653 |
|
| 654 |
with col3:
|
| 655 |
st.subheader("Projections File")
|
|
|
|
| 656 |
st.info("upload a projections file that has 'player_names', 'salary', 'median', 'ownership', and 'captain ownership' columns. Note that the salary for showdown needs to be the FLEX salary, not the captain salary.")
|
| 657 |
|
| 658 |
# Create two columns for the uploader and template button
|
| 659 |
upload_col, template_col = st.columns([3, 1])
|
| 660 |
|
| 661 |
with upload_col:
|
| 662 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 663 |
if 'projections_df' in st.session_state:
|
| 664 |
del st.session_state['projections_df']
|
| 665 |
|
|
|
|
| 653 |
|
| 654 |
with col3:
|
| 655 |
st.subheader("Projections File")
|
| 656 |
+
proj_options = st.selectbox("Select a projections source", options=['Paydirt DB', 'User Upload'])
|
| 657 |
st.info("upload a projections file that has 'player_names', 'salary', 'median', 'ownership', and 'captain ownership' columns. Note that the salary for showdown needs to be the FLEX salary, not the captain salary.")
|
| 658 |
|
| 659 |
# Create two columns for the uploader and template button
|
| 660 |
upload_col, template_col = st.columns([3, 1])
|
| 661 |
|
| 662 |
with upload_col:
|
| 663 |
+
if proj_options == 'User Upload':
|
| 664 |
+
projections_file = st.file_uploader("Upload Projections File (CSV or Excel)", type=['csv', 'xlsx', 'xls'])
|
| 665 |
+
elif proj_options == 'Paydirt DB':
|
| 666 |
+
projections_file = init_nfl_baselines(type_var, site_var, 'Main Slate')
|
| 667 |
+
st.session_state['db_projections_file'] = projections_file
|
| 668 |
if 'projections_df' in st.session_state:
|
| 669 |
del st.session_state['projections_df']
|
| 670 |
|
database_queries.py
CHANGED
|
@@ -13,7 +13,7 @@ right_nfl_name_teams = ['Broncos', 'Commanders', 'Bengals', 'Cardinals', 'Rams',
|
|
| 13 |
'Jets', 'Colts', 'Dolphins', 'Lions', 'Raiders', 'Falcons', 'Seahawks', 'Texans', 'Saints', 'Panthers', 'Giants', 'Browns', 'Titans', 'Eagles', 'Cowboys',
|
| 14 |
'Chiefs', 'Chargers', 'Ravens', 'Bills', 'Vikings', 'Bears']
|
| 15 |
|
| 16 |
-
def init_nfl_baselines(type_var: str):
|
| 17 |
|
| 18 |
if type_var == 'Regular':
|
| 19 |
collection = nfl_db["DK_NFL_ROO"]
|
|
@@ -21,11 +21,12 @@ def init_nfl_baselines(type_var: str):
|
|
| 21 |
|
| 22 |
raw_display = pd.DataFrame(list(cursor))
|
| 23 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 24 |
-
raw_display = raw_display[['Player', 'Position', 'Team', '
|
| 25 |
-
'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
|
| 26 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 27 |
load_display = raw_display[raw_display['Position'] != 'K']
|
| 28 |
dk_roo_raw = load_display.dropna(subset=['Median'])
|
|
|
|
|
|
|
| 29 |
|
| 30 |
dk_id_map = dict(zip(dk_roo_raw['Player'], dk_roo_raw['player_id']))
|
| 31 |
|
|
@@ -34,16 +35,17 @@ def init_nfl_baselines(type_var: str):
|
|
| 34 |
|
| 35 |
raw_display = pd.DataFrame(list(cursor))
|
| 36 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 37 |
-
raw_display = raw_display[['Player', 'Position', 'Team', '
|
| 38 |
-
'Own', 'Small_Field_Own', 'Large_Field_Own', 'Cash_Field_Own', 'CPT_Own', 'LevX', 'version', 'slate', 'timestamp', 'player_id', 'site']]
|
| 39 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 40 |
load_display = raw_display[raw_display['Position'] != 'K']
|
| 41 |
fd_roo_raw = load_display.dropna(subset=['Median'])
|
|
|
|
|
|
|
| 42 |
|
| 43 |
fd_id_map = dict(zip(fd_roo_raw['Player'], fd_roo_raw['player_id']))
|
| 44 |
|
| 45 |
-
dk_roo_raw = dk_roo_raw.drop(columns=['player_id'])
|
| 46 |
-
fd_roo_raw = fd_roo_raw.drop(columns=['player_id'])
|
| 47 |
|
| 48 |
dk_roo_raw = dk_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
| 49 |
fd_roo_raw = fd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
|
@@ -58,7 +60,7 @@ def init_nfl_baselines(type_var: str):
|
|
| 58 |
|
| 59 |
raw_display = pd.DataFrame(list(cursor))
|
| 60 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 61 |
-
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own', 'player_id']]
|
| 62 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 63 |
# load_display = raw_display[raw_display['Position'] != 'K']
|
| 64 |
dk_sd_roo_raw = raw_display.dropna(subset=['Median'])
|
|
@@ -70,15 +72,15 @@ def init_nfl_baselines(type_var: str):
|
|
| 70 |
|
| 71 |
raw_display = pd.DataFrame(list(cursor))
|
| 72 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 73 |
-
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own', 'player_id']]
|
| 74 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 75 |
# load_display = raw_display[raw_display['Position'] != 'K']
|
| 76 |
fd_sd_roo_raw = raw_display.dropna(subset=['Median'])
|
| 77 |
|
| 78 |
fd_sd_id_map = dict(zip(fd_sd_roo_raw['Player'], fd_sd_roo_raw['player_id']))
|
| 79 |
|
| 80 |
-
dk_sd_roo_raw = dk_sd_roo_raw.drop(columns=['player_id'])
|
| 81 |
-
fd_sd_roo_raw = fd_sd_roo_raw.drop(columns=['player_id'])
|
| 82 |
|
| 83 |
dk_sd_roo_raw = dk_sd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
| 84 |
fd_sd_roo_raw = fd_sd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain_ownership'})
|
|
|
|
| 13 |
'Jets', 'Colts', 'Dolphins', 'Lions', 'Raiders', 'Falcons', 'Seahawks', 'Texans', 'Saints', 'Panthers', 'Giants', 'Browns', 'Titans', 'Eagles', 'Cowboys',
|
| 14 |
'Chiefs', 'Chargers', 'Ravens', 'Bills', 'Vikings', 'Bears']
|
| 15 |
|
| 16 |
+
def init_nfl_baselines(type_var: str, site_var: str, slate_var: str):
|
| 17 |
|
| 18 |
if type_var == 'Regular':
|
| 19 |
collection = nfl_db["DK_NFL_ROO"]
|
|
|
|
| 21 |
|
| 22 |
raw_display = pd.DataFrame(list(cursor))
|
| 23 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 24 |
+
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own','player_id', 'slate', 'version']]
|
|
|
|
| 25 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 26 |
load_display = raw_display[raw_display['Position'] != 'K']
|
| 27 |
dk_roo_raw = load_display.dropna(subset=['Median'])
|
| 28 |
+
dk_roo_raw = dk_roo_raw[dk_roo_raw['version'] == 'overall']
|
| 29 |
+
dk_roo_raw = dk_roo_raw[dk_roo_raw['slate'] == slate_var]
|
| 30 |
|
| 31 |
dk_id_map = dict(zip(dk_roo_raw['Player'], dk_roo_raw['player_id']))
|
| 32 |
|
|
|
|
| 35 |
|
| 36 |
raw_display = pd.DataFrame(list(cursor))
|
| 37 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 38 |
+
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own','player_id', 'slate', 'version']]
|
|
|
|
| 39 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 40 |
load_display = raw_display[raw_display['Position'] != 'K']
|
| 41 |
fd_roo_raw = load_display.dropna(subset=['Median'])
|
| 42 |
+
fd_roo_raw = fd_roo_raw[fd_roo_raw['version'] == 'overall']
|
| 43 |
+
fd_roo_raw = fd_roo_raw[fd_roo_raw['slate'] == slate_var]
|
| 44 |
|
| 45 |
fd_id_map = dict(zip(fd_roo_raw['Player'], fd_roo_raw['player_id']))
|
| 46 |
|
| 47 |
+
dk_roo_raw = dk_roo_raw.drop(columns=['player_id', 'slate', 'version'])
|
| 48 |
+
fd_roo_raw = fd_roo_raw.drop(columns=['player_id', 'slate', 'version'])
|
| 49 |
|
| 50 |
dk_roo_raw = dk_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
| 51 |
fd_roo_raw = fd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
|
|
|
| 60 |
|
| 61 |
raw_display = pd.DataFrame(list(cursor))
|
| 62 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 63 |
+
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own', 'player_id', 'slate']]
|
| 64 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 65 |
# load_display = raw_display[raw_display['Position'] != 'K']
|
| 66 |
dk_sd_roo_raw = raw_display.dropna(subset=['Median'])
|
|
|
|
| 72 |
|
| 73 |
raw_display = pd.DataFrame(list(cursor))
|
| 74 |
raw_display = raw_display.rename(columns={'player_ID': 'player_id'})
|
| 75 |
+
raw_display = raw_display[['Player', 'Position', 'Team', 'Salary', 'Median', 'Own', 'CPT_Own', 'player_id', 'slate']]
|
| 76 |
raw_display['Player'] = raw_display['Player'].map(dict(zip(wrong_nfl_team_names, right_nfl_name_teams)), na_action='ignore').fillna(raw_display['Player'])
|
| 77 |
# load_display = raw_display[raw_display['Position'] != 'K']
|
| 78 |
fd_sd_roo_raw = raw_display.dropna(subset=['Median'])
|
| 79 |
|
| 80 |
fd_sd_id_map = dict(zip(fd_sd_roo_raw['Player'], fd_sd_roo_raw['player_id']))
|
| 81 |
|
| 82 |
+
dk_sd_roo_raw = dk_sd_roo_raw.drop(columns=['player_id', 'slate'])
|
| 83 |
+
fd_sd_roo_raw = fd_sd_roo_raw.drop(columns=['player_id', 'slate'])
|
| 84 |
|
| 85 |
dk_sd_roo_raw = dk_sd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain ownership'})
|
| 86 |
fd_sd_roo_raw = fd_sd_roo_raw.rename(columns={'Player': 'player_names', 'Position': 'position', 'Team': 'team', 'Salary': 'salary', 'Median': 'median', 'Own': 'ownership', 'CPT_Own': 'captain_ownership'})
|