Spaces:
Sleeping
Sleeping
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']))
|