Spaces:
Running
Running
James McCool
Update Streamlit app to rename columns in the 'Basics' display option, improving clarity of data presentation by using more intuitive labels for key metrics.
7a1b6ea
import numpy as np | |
import pandas as pd | |
import streamlit as st | |
import pymongo | |
import os | |
st.set_page_config(layout="wide") | |
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() | |
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 = ['Basics', 'Exclude DFS Info', 'Include DFS Info'], key='display_options') | |
if disp_options == 'Basics': | |
st.session_state['disp_frame'] = hr_frame[['Player', 'xHR/PA', 'Opp_xHR/PA', 'BP_Binom_xHR', 'Binom_xHR']] | |
st.session_state['disp_frame'] = st.session_state['disp_frame'].rename(columns={'xHR/PA': 'Hitter', 'Opp_xHR/PA': 'SP', 'BP_Binom_xHR': 'BP', 'Binom_xHR': 'xHRs'}) | |
elif 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.copy() | |
st.session_state['disp_frame'] = st.session_state['disp_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) |