YFDashboard / src /streamlit_app.py
Jon Solow
Use st.dataframe and filter some columns
c9e9696
raw
history blame
1.17 kB
import os
import streamlit as st
import pandas as pd
LEAGUE_NAME = "LOFG"
DATA_URL = "../tests/mocks/2023_keepers.csv"
@st.cache_data
def load_data():
data = pd.read_csv(os.path.join(os.path.dirname(__file__), DATA_URL), index_col=0)
# Hack to get position, replace with better position from yahoo api in future
data["position"] = data["eligible_positions"].apply(lambda x: eval(x)[0])
data.columns = data.columns.str.lower()
teams_list = sorted(list(data["team_name"].unique()))
return data, teams_list
def get_app():
st.title(f"{LEAGUE_NAME} Keeper Options")
data, teams_list = load_data()
teams_selected = st.multiselect("Team:", teams_list)
teams_filter = data["team_name"].isin(teams_selected) if teams_selected else data["team_name"].isin(teams_list)
filtered_data = data.loc[teams_filter]
st.dataframe(
filtered_data,
hide_index=True,
column_order=[
"team_name",
"name",
"position",
"keeper_cost",
"years_eligible",
"eligible",
],
column_config={},
)
if __name__ == "__main__":
get_app()