import pandas as pd import streamlit as st import os from database import gc st.set_page_config(layout="wide") PGA_models = os.getenv('PGA_DATA') st.markdown(""" """, unsafe_allow_html=True) @st.cache_data def load_dk_player_model(URL): sh = gc.open_by_url(URL) worksheet = sh.worksheet('Odds_vs_Salary') raw_display = pd.DataFrame(worksheet.get_all_records()) raw_display = raw_display.drop(['ID', 'Roster Position', '', 'Cut', 'Cut%'], axis=1) raw_display.rename(columns={"Name": "Player"}, inplace = True) data_cols = raw_display.columns.drop(['Player']) raw_display[data_cols] = raw_display[data_cols].apply(pd.to_numeric, errors='coerce') return raw_display def convert_df_to_csv(df): return df.to_csv().encode('utf-8') format_dict = {'Cut%': '{:.2%}', 'Win Odds': '{:.2%}','T5 Odds': '{:.2%}', 'T10 Odds': '{:.2%}','T20 Odds': '{:.2%}'} if st.button("Reset Data", key='reset1'): # Clear values from *all* all in-memory and on-disk data caches: # i.e. clear values from both square and cube st.cache_data.clear() hold_display = load_dk_player_model(PGA_models) display = hold_display.set_index('Player') st.dataframe(display.style.background_gradient(axis=0).background_gradient(cmap='RdYlGn').format(format_dict, precision=2), height=1000, use_container_width = True) st.download_button( label="Export Model", data=convert_df_to_csv(display), file_name='PGA_DK_Vegas_Salary_export.csv', mime='text/csv', key='DK_download', )