MLB_HR_Finder / src /streamlit_app.py
James McCool
Update Streamlit app to sort display frame by 'Binom_xHR' before rendering, enhancing data presentation and allowing for better visibility of key metrics.
30e8a79
raw
history blame
1.33 kB
import numpy as np
import pandas as pd
import streamlit as st
import pymongo
import os
st.set_page_config(layout="wide")
@st.cache_resource
def init_conn():
uri = os.getenv('mongo_uri')
client = pymongo.MongoClient(uri, retryWrites=True, serverSelectionTimeoutMS=500000)
db = client["MLB_Database"]
return db
db = init_conn()
@st.cache_resource(ttl = 60)
def init_baselines():
collection = db["HR_Table"]
cursor = collection.find()
raw_display = pd.DataFrame(cursor)
raw_display.rename(columns={"Names": "Player"}, inplace = True)
raw_frame = raw_display.drop(columns=['_id']).drop_duplicates(subset='Player')
return raw_frame
hr_frame = init_baselines()
st.title("HR Finder Table")
disp_options = st.radio("Display options:", options = ['Exclude DFS Info', 'Include DFS Info'], key='display_options')
if disp_options == 'Exclude DFS Info':
st.session_state['disp_frame'] = hr_frame.drop(columns=['Salary', 'Position', 'FD_Position', 'Order'])
else:
st.session_state['disp_frame'] = hr_frame.sort_values(by='Binom_xHR', ascending=False)
if 'disp_frame' in st.session_state:
st.dataframe(st.session_state['disp_frame'].style.background_gradient(axis=0).background_gradient(cmap = 'RdYlGn').format(precision=2), height=1200, use_container_width = True, hide_index = True)