Multichem commited on
Commit
45a2bd5
·
verified ·
1 Parent(s): a3c3cc3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +100 -12
app.py CHANGED
@@ -31,10 +31,67 @@ mma_format = {'ML_perc': '{:.2%}', 'Min_%': '{:.2%}', 'Med_%': '{:.2%}', }
31
  @st.cache_resource(ttl = 600)
32
  def init_baselines():
33
  sh = gc.open_by_url("https://docs.google.com/spreadsheets/d/17OAf4OAfW92-loMNUFvIubNmgF9111dsObybo6xhtYY/edit?gid=1468336051#gid=1468336051")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  worksheet = sh.worksheet('Flex')
35
  all_values = worksheet.get_all_values()
36
- cell_vals = [row[0:13] for row in all_values[2:500]]
37
- frame_hold = pd.DataFrame(cell_vals, columns=['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $', 'blank', 'chop1', 'chop2', 'chop3', 'chop4', 'chop6', 'OPP'])
38
  frame_hold['OwnAvg'] = frame_hold['OwnAvg'].str.replace('%', '').astype(float)/100
39
  flex_frame = frame_hold[['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $']]
40
  string_cols = ['Team']
@@ -49,19 +106,50 @@ def init_baselines():
49
  pass # Ignore columns that cannot be converted
50
 
51
  flex_frame = flex_frame.sort_values(by='PointsAvg', ascending=False)
52
- return flex_frame
 
53
 
54
  @st.cache_resource()
55
  def convert_df_to_csv(df):
56
  return df.to_csv().encode('utf-8')
57
 
58
- flex_base = init_baselines()
 
 
59
 
60
- with st.container():
61
- st.dataframe(flex_base.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height = 1000, use_container_width = True)
62
- st.download_button(
63
- label="Export Tables",
64
- data=convert_df_to_csv(flex_base),
65
- file_name='tennis_model_export.csv',
66
- mime='text/csv',
67
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  @st.cache_resource(ttl = 600)
32
  def init_baselines():
33
  sh = gc.open_by_url("https://docs.google.com/spreadsheets/d/17OAf4OAfW92-loMNUFvIubNmgF9111dsObybo6xhtYY/edit?gid=1468336051#gid=1468336051")
34
+ worksheet = sh.worksheet('QB')
35
+ all_values = worksheet.get_all_values()
36
+ cell_vals = [row[0:7] for row in all_values[2:500]]
37
+ frame_hold = pd.DataFrame(cell_vals, columns=['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $', 'blank'])
38
+ frame_hold['OwnAvg'] = frame_hold['OwnAvg'].str.replace('%', '').astype(float)/100
39
+ qb_frame = frame_hold[['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $']]
40
+ string_cols = ['Team']
41
+ qb_frame = qb_frame.drop_duplicates(subset='Player')
42
+ qb_frame = qb_frame.set_index('Player')
43
+
44
+ for col in qb_frame.columns:
45
+ if col not in string_cols:
46
+ try:
47
+ qb_frame[col] = pd.to_numeric(qb_frame[col], errors='coerce')
48
+ except ValueError:
49
+ pass # Ignore columns that cannot be converted
50
+
51
+ qb_frame = qb_frame.sort_values(by='PointsAvg', ascending=False)
52
+
53
+ worksheet = sh.worksheet('RB')
54
+ all_values = worksheet.get_all_values()
55
+ cell_vals = [row[0:7] for row in all_values[2:500]]
56
+ frame_hold = pd.DataFrame(cell_vals, columns=['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $', 'blank'])
57
+ frame_hold['OwnAvg'] = frame_hold['OwnAvg'].str.replace('%', '').astype(float)/100
58
+ rb_frame = frame_hold[['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $']]
59
+ string_cols = ['Team']
60
+ rb_frame = rb_frame.drop_duplicates(subset='Player')
61
+ rb_frame = rb_frame.set_index('Player')
62
+
63
+ for col in rb_frame.columns:
64
+ if col not in string_cols:
65
+ try:
66
+ rb_frame[col] = pd.to_numeric(rb_frame[col], errors='coerce')
67
+ except ValueError:
68
+ pass # Ignore columns that cannot be converted
69
+
70
+ rb_frame = rb_frame.sort_values(by='PointsAvg', ascending=False)
71
+
72
+ worksheet = sh.worksheet('WR')
73
+ all_values = worksheet.get_all_values()
74
+ cell_vals = [row[0:7] for row in all_values[2:500]]
75
+ frame_hold = pd.DataFrame(cell_vals, columns=['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $', 'blank'])
76
+ frame_hold['OwnAvg'] = frame_hold['OwnAvg'].str.replace('%', '').astype(float)/100
77
+ wr_frame = frame_hold[['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $']]
78
+ string_cols = ['Team']
79
+ wr_frame = wr_frame.drop_duplicates(subset='Player')
80
+ wr_frame = wr_frame.set_index('Player')
81
+
82
+ for col in wr_frame.columns:
83
+ if col not in string_cols:
84
+ try:
85
+ wr_frame[col] = pd.to_numeric(wr_frame[col], errors='coerce')
86
+ except ValueError:
87
+ pass # Ignore columns that cannot be converted
88
+
89
+ wr_frame = wr_frame.sort_values(by='PointsAvg', ascending=False)
90
+
91
  worksheet = sh.worksheet('Flex')
92
  all_values = worksheet.get_all_values()
93
+ cell_vals = [row[0:7] for row in all_values[2:500]]
94
+ frame_hold = pd.DataFrame(cell_vals, columns=['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $', 'blank'])
95
  frame_hold['OwnAvg'] = frame_hold['OwnAvg'].str.replace('%', '').astype(float)/100
96
  flex_frame = frame_hold[['Player', 'Team', 'Salary', 'OwnAvg', 'PointsAvg', 'Points per $']]
97
  string_cols = ['Team']
 
106
  pass # Ignore columns that cannot be converted
107
 
108
  flex_frame = flex_frame.sort_values(by='PointsAvg', ascending=False)
109
+
110
+ return qb_frame, rb_frame, wr_frame, flex_frame
111
 
112
  @st.cache_resource()
113
  def convert_df_to_csv(df):
114
  return df.to_csv().encode('utf-8')
115
 
116
+ qb_frame, rb_frame, wr_frame, flex_frame = init_baselines()
117
+
118
+ tab1, tab2, tab3, tab4 = st.tabs(['QB data', 'RB data', 'WR data', 'Flex data'])
119
 
120
+ with tab1:
121
+ with st.container():
122
+ st.dataframe(qb_frame.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height = 1000, use_container_width = True)
123
+ st.download_button(
124
+ label="Export Tables",
125
+ data=convert_df_to_csv(qb_frame),
126
+ file_name='NCAAF_model_export.csv',
127
+ mime='text/csv',
128
+ )
129
+ with tab2:
130
+ with st.container():
131
+ st.dataframe(rb_frame.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height = 1000, use_container_width = True)
132
+ st.download_button(
133
+ label="Export Tables",
134
+ data=convert_df_to_csv(rb_frame),
135
+ file_name='NCAAF_model_export.csv',
136
+ mime='text/csv',
137
+ )
138
+ with tab3:
139
+ with st.container():
140
+ st.dataframe(wr_frame.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height = 1000, use_container_width = True)
141
+ st.download_button(
142
+ label="Export Tables",
143
+ data=convert_df_to_csv(wr_frame),
144
+ file_name='NCAAF_model_export.csv',
145
+ mime='text/csv',
146
+ )
147
+ with tab4:
148
+ with st.container():
149
+ st.dataframe(flex_frame.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(precision=2), height = 1000, use_container_width = True)
150
+ st.download_button(
151
+ label="Export Tables",
152
+ data=convert_df_to_csv(flex_frame),
153
+ file_name='NCAAF_model_export.csv',
154
+ mime='text/csv',
155
+ )