Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -226,6 +226,8 @@ season_data_cols = ['Touches', 'Touch/Min', 'Pts', 'FGM', 'FGA', 'FG%', 'FG3M',
|
|
| 226 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 227 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 228 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 229 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 230 |
total_teams = indv_teams.Team.values.tolist()
|
| 231 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -255,6 +257,8 @@ with tab1:
|
|
| 255 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 256 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 257 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 258 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 259 |
total_teams = indv_teams.Team.values.tolist()
|
| 260 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -382,6 +386,8 @@ with tab2:
|
|
| 382 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 383 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 384 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 385 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 386 |
total_teams = indv_teams.Team.values.tolist()
|
| 387 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -475,6 +481,8 @@ with tab3:
|
|
| 475 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 476 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 477 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 478 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 479 |
total_teams = indv_teams.Team.values.tolist()
|
| 480 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -560,6 +568,8 @@ with tab4:
|
|
| 560 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 561 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 562 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 563 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 564 |
total_teams = indv_teams.Team.values.tolist()
|
| 565 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -594,7 +604,7 @@ with tab4:
|
|
| 594 |
|
| 595 |
with tab5:
|
| 596 |
st.info(t_stamp)
|
| 597 |
-
col1, col2 = st.columns([
|
| 598 |
with col1:
|
| 599 |
if st.button("Reset Data", key='reset5'):
|
| 600 |
st.cache_data.clear()
|
|
@@ -609,6 +619,8 @@ with tab5:
|
|
| 609 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 610 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 611 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
|
|
|
|
|
|
| 612 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 613 |
total_teams = indv_teams.Team.values.tolist()
|
| 614 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
@@ -654,8 +666,10 @@ with tab5:
|
|
| 654 |
working_data = game_rot
|
| 655 |
if game_rot_view == 'Player Rotations':
|
| 656 |
display = st.container()
|
|
|
|
| 657 |
check_rotation = working_data[working_data['backlog_lookup'] == game_id_var]
|
| 658 |
check_rotation = check_rotation.sort_values(by='Start', ascending=True)
|
|
|
|
| 659 |
|
| 660 |
fig = px.timeline(check_rotation, x_start="Start", x_end="Finish", y="Task", range_x=[0,check_rotation["Finish"].max()], text='minutes')
|
| 661 |
fig.update_yaxes(autorange="reversed")
|
|
@@ -667,11 +681,14 @@ with tab5:
|
|
| 667 |
fig.add_vline(x=36, line_width=3, line_dash="dash", line_color="green")
|
| 668 |
# pages = pages.set_index('Player')
|
| 669 |
display.plotly_chart(fig, use_container_width=True)
|
|
|
|
| 670 |
|
| 671 |
elif game_rot_view == 'Team Rotations':
|
| 672 |
display = st.container()
|
|
|
|
| 673 |
check_rotation = working_data[working_data['backlog_lookup'] == game_id_var]
|
| 674 |
check_rotation = check_rotation.sort_values(by='Start', ascending=True)
|
|
|
|
| 675 |
|
| 676 |
fig = px.timeline(check_rotation, x_start="Start", x_end="Finish", y="Task", range_x=[0,check_rotation["Finish"].max()], text='minutes')
|
| 677 |
fig.update_yaxes(autorange="reversed")
|
|
@@ -682,4 +699,5 @@ with tab5:
|
|
| 682 |
fig.add_vline(x=24, line_width=3, line_dash="dash", line_color="green")
|
| 683 |
fig.add_vline(x=36, line_width=3, line_dash="dash", line_color="green")
|
| 684 |
# pages = pages.set_index('Player')
|
| 685 |
-
display.plotly_chart(fig,
|
|
|
|
|
|
| 226 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 227 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 228 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 229 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 230 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 231 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 232 |
total_teams = indv_teams.Team.values.tolist()
|
| 233 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 257 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 258 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 259 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 260 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 261 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 262 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 263 |
total_teams = indv_teams.Team.values.tolist()
|
| 264 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 386 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 387 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 388 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 389 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 390 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 391 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 392 |
total_teams = indv_teams.Team.values.tolist()
|
| 393 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 481 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 482 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 483 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 484 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 485 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 486 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 487 |
total_teams = indv_teams.Team.values.tolist()
|
| 488 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 568 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 569 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 570 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 571 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 572 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 573 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 574 |
total_teams = indv_teams.Team.values.tolist()
|
| 575 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 604 |
|
| 605 |
with tab5:
|
| 606 |
st.info(t_stamp)
|
| 607 |
+
col1, col2 = st.columns([1, 9])
|
| 608 |
with col1:
|
| 609 |
if st.button("Reset Data", key='reset5'):
|
| 610 |
st.cache_data.clear()
|
|
|
|
| 619 |
'FG3%', 'FTM', 'FTA', 'FT%', 'OREB Chance', 'OREB', 'DREB Chance', 'DREB', 'REB Chance', 'REB',
|
| 620 |
'Passes', 'Alt Assists', 'FT Assists', 'Assists', 'Stl', 'Blk', 'Tov', 'PF', 'DD', 'TD', 'Fantasy', 'FD_Fantasy',
|
| 621 |
'Rebound%', 'Assists/Pass', 'Fantasy/Touch', 'FD Fantasy/Touch']
|
| 622 |
+
game_rot_cols = ['Pts', 'FGM', 'FGA', 'FG%', 'FG3M', 'FG3A', 'FG3%', 'FTM', 'FTA', 'FT%', 'REB', 'Assists', 'Stl', 'Blk', 'Tov', 'PF',
|
| 623 |
+
'DD', 'TD', 'Fantasy', 'FD_Fantasy']
|
| 624 |
indv_teams = gamelog_table.drop_duplicates(subset='Team')
|
| 625 |
total_teams = indv_teams.Team.values.tolist()
|
| 626 |
indv_rot_teams = rot_table.drop_duplicates(subset='Team')
|
|
|
|
| 666 |
working_data = game_rot
|
| 667 |
if game_rot_view == 'Player Rotations':
|
| 668 |
display = st.container()
|
| 669 |
+
stats_disp = st.container()
|
| 670 |
check_rotation = working_data[working_data['backlog_lookup'] == game_id_var]
|
| 671 |
check_rotation = check_rotation.sort_values(by='Start', ascending=True)
|
| 672 |
+
game_rot_stats = check_rotation[[game_rot_cols]]
|
| 673 |
|
| 674 |
fig = px.timeline(check_rotation, x_start="Start", x_end="Finish", y="Task", range_x=[0,check_rotation["Finish"].max()], text='minutes')
|
| 675 |
fig.update_yaxes(autorange="reversed")
|
|
|
|
| 681 |
fig.add_vline(x=36, line_width=3, line_dash="dash", line_color="green")
|
| 682 |
# pages = pages.set_index('Player')
|
| 683 |
display.plotly_chart(fig, use_container_width=True)
|
| 684 |
+
stats_disp.dataframe(game_rot_stats.style.format(precision=2), use_container_width = True)
|
| 685 |
|
| 686 |
elif game_rot_view == 'Team Rotations':
|
| 687 |
display = st.container()
|
| 688 |
+
stats_disp = st.container()
|
| 689 |
check_rotation = working_data[working_data['backlog_lookup'] == game_id_var]
|
| 690 |
check_rotation = check_rotation.sort_values(by='Start', ascending=True)
|
| 691 |
+
game_rot_stats = check_rotation[[game_rot_cols]]
|
| 692 |
|
| 693 |
fig = px.timeline(check_rotation, x_start="Start", x_end="Finish", y="Task", range_x=[0,check_rotation["Finish"].max()], text='minutes')
|
| 694 |
fig.update_yaxes(autorange="reversed")
|
|
|
|
| 699 |
fig.add_vline(x=24, line_width=3, line_dash="dash", line_color="green")
|
| 700 |
fig.add_vline(x=36, line_width=3, line_dash="dash", line_color="green")
|
| 701 |
# pages = pages.set_index('Player')
|
| 702 |
+
display.plotly_chart(fig, use_container_width=True)
|
| 703 |
+
stats_disp.dataframe(game_rot_stats.style.format(precision=2), use_container_width = True)
|