Spaces:
Sleeping
Sleeping
File size: 1,520 Bytes
86f5e84 7a18dc2 f18ed57 7a18dc2 2e0b4a6 7a18dc2 f47916d f18ed57 f47916d 2e0b4a6 7a18dc2 f47916d f18ed57 e2b52d0 7a18dc2 c0c7d17 7a18dc2 5509410 c0c7d17 c9e9696 a544bb0 c9e9696 7a18dc2 f18ed57 2e0b4a6 f18ed57 5509410 b7f4f75 f18ed57 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import os
import pandas as pd
import streamlit as st
from config import DEFAULT_ICON, LEAGUE_NAME
KEEPER_DATA_URL = "../../tests/mocks/2023_keepers.csv"
@st.cache_data
def load_data():
data = pd.read_csv(os.path.join(os.path.dirname(__file__), KEEPER_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 filtered_keeper_dataframe(data: pd.DataFrame, teams_list: list[str]):
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,
use_container_width=True,
column_order=[
"team_name",
"name",
"position",
"keeper_cost",
"years_eligible",
"eligible",
],
column_config={},
)
def get_keeper_app():
keeper_title = f"{LEAGUE_NAME} Keeper Options"
st.set_page_config(page_title=keeper_title, page_icon=DEFAULT_ICON)
st.title(keeper_title)
data, teams_list = load_data()
with st.container():
filtered_keeper_dataframe(data, teams_list)
if __name__ == "__main__":
get_keeper_app()
|