James McCool
commited on
Commit
·
d1401a0
1
Parent(s):
92176ea
Refactor stack column dictionary in 'app.py' to support multiple sites, enhancing flexibility in player stacking calculations for Draftkings and Fanduel.
Browse files
app.py
CHANGED
|
@@ -31,11 +31,20 @@ from global_func.reassess_edge import reassess_edge
|
|
| 31 |
freq_format = {'Finish_percentile': '{:.2%}', 'Lineup Edge': '{:.2%}', 'Win%': '{:.2%}'}
|
| 32 |
stacking_sports = ['MLB', 'NHL', 'NFL', 'LOL', 'NCAAF']
|
| 33 |
stack_column_dict = {
|
| 34 |
-
'
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
}
|
| 40 |
player_wrong_names_mlb = ['Enrique Hernandez', 'Joseph Cantillo', 'Mike Soroka', 'Jakob Bauers', 'Temi Fágbénlé']
|
| 41 |
player_right_names_mlb = ['Kike Hernandez', 'Joey Cantillo', 'Michael Soroka', 'Jake Bauers', 'Temi Fagbenle']
|
|
@@ -452,16 +461,16 @@ if selected_tab == 'Data Load':
|
|
| 452 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 453 |
st.session_state['portfolio']['Stack'] = st.session_state['portfolio'].apply(
|
| 454 |
lambda row: Counter(
|
| 455 |
-
team_dict.get(player, '') for player in row[stack_column_dict[sport_var]]
|
| 456 |
if team_dict.get(player, '') != ''
|
| 457 |
-
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[stack_column_dict[sport_var]]) else '',
|
| 458 |
axis=1
|
| 459 |
)
|
| 460 |
st.session_state['portfolio']['Size'] = st.session_state['portfolio'].apply(
|
| 461 |
lambda row: Counter(
|
| 462 |
-
team_dict.get(player, '') for player in row[stack_column_dict[sport_var]]
|
| 463 |
if team_dict.get(player, '') != ''
|
| 464 |
-
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[stack_column_dict[sport_var]]) else 0,
|
| 465 |
axis=1
|
| 466 |
)
|
| 467 |
st.session_state['stack_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Stack']))
|
|
|
|
| 31 |
freq_format = {'Finish_percentile': '{:.2%}', 'Lineup Edge': '{:.2%}', 'Win%': '{:.2%}'}
|
| 32 |
stacking_sports = ['MLB', 'NHL', 'NFL', 'LOL', 'NCAAF']
|
| 33 |
stack_column_dict = {
|
| 34 |
+
'Draftkings': {
|
| 35 |
+
'MLB': ['C', '1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3'],
|
| 36 |
+
'NHL': ['C', 'W', 'D'],
|
| 37 |
+
'NFL': ['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX'],
|
| 38 |
+
'LOL': ['TOP', 'JNG', 'MID', 'ADC', 'SUP', 'TEAM'],
|
| 39 |
+
'NCAAF': ['QB', 'WR1', 'WR2', 'WR3', 'FLEX', 'SFLEX'],
|
| 40 |
+
},
|
| 41 |
+
'Fanduel': {
|
| 42 |
+
'MLB': ['C/1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL'],
|
| 43 |
+
'NHL': ['C', 'W', 'D'],
|
| 44 |
+
'NFL': ['QB', 'RB1', 'RB2', 'WR1', 'WR2', 'WR3', 'TE', 'FLEX'],
|
| 45 |
+
'LOL': ['TOP', 'JNG', 'MID', 'ADC', 'SUP', 'TEAM'],
|
| 46 |
+
'NCAAF': ['QB', 'WR1', 'WR2', 'WR3', 'FLEX', 'SFLEX'],
|
| 47 |
+
},
|
| 48 |
}
|
| 49 |
player_wrong_names_mlb = ['Enrique Hernandez', 'Joseph Cantillo', 'Mike Soroka', 'Jakob Bauers', 'Temi Fágbénlé']
|
| 50 |
player_right_names_mlb = ['Kike Hernandez', 'Joey Cantillo', 'Michael Soroka', 'Jake Bauers', 'Temi Fagbenle']
|
|
|
|
| 461 |
team_dict = dict(zip(st.session_state['projections_df']['player_names'], st.session_state['projections_df']['team']))
|
| 462 |
st.session_state['portfolio']['Stack'] = st.session_state['portfolio'].apply(
|
| 463 |
lambda row: Counter(
|
| 464 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][sport_var]]
|
| 465 |
if team_dict.get(player, '') != ''
|
| 466 |
+
).most_common(1)[0][0] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][sport_var]]) else '',
|
| 467 |
axis=1
|
| 468 |
)
|
| 469 |
st.session_state['portfolio']['Size'] = st.session_state['portfolio'].apply(
|
| 470 |
lambda row: Counter(
|
| 471 |
+
team_dict.get(player, '') for player in row[stack_column_dict[site_var][sport_var]]
|
| 472 |
if team_dict.get(player, '') != ''
|
| 473 |
+
).most_common(1)[0][1] if any(team_dict.get(player, '') for player in row[stack_column_dict[site_var][sport_var]]) else 0,
|
| 474 |
axis=1
|
| 475 |
)
|
| 476 |
st.session_state['stack_dict'] = dict(zip(st.session_state['portfolio'].index, st.session_state['portfolio']['Stack']))
|