James McCool commited on
Commit
0ecb4fa
·
1 Parent(s): dbbaaf8

Refactor portfolio file loading logic to ensure proper handling of uploaded files and optimize data types for memory efficiency

Browse files
Files changed (1) hide show
  1. app.py +41 -40
app.py CHANGED
@@ -859,54 +859,55 @@ if selected_tab == 'Data Load':
859
 
860
  if 'portfolio' not in st.session_state:
861
  if st.session_state['portfolio_loaded']:
862
- if upload_toggle == 'Paydirt DB':
863
- portfolio_file = st.session_state['db_portfolio_file']
864
- st.session_state['export_portfolio'], st.session_state['portfolio'] = load_file(portfolio_file, site_var, type_var, sport_var, 'portfolio')
865
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
866
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
 
867
 
868
- st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
869
- st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
870
 
871
- elif upload_toggle == 'SaberSim (Just IDs)':
872
- st.session_state['export_portfolio'], st.session_state['portfolio'] = load_ss_file(portfolio_file, st.session_state['csv_file'], site_var, type_var, sport_var)
873
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
874
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
875
 
876
- st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
877
- st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
878
 
879
- elif upload_toggle == 'Draftkings/Fanduel (Names + IDs)':
880
- st.session_state['export_portfolio'], st.session_state['portfolio'] = load_dk_fd_file(portfolio_file, st.session_state['csv_file'], site_var, type_var, sport_var)
881
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
882
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
883
 
884
- st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
885
- st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
886
 
887
- else:
888
- st.session_state['export_portfolio'], st.session_state['portfolio'] = load_file(portfolio_file, site_var, type_var, sport_var, 'portfolio')
889
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
890
- st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
891
 
892
- st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
893
- st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
894
- if st.session_state['portfolio'] is not None:
895
 
896
- # Optimize data types early for memory efficiency
897
- st.session_state['portfolio'] = optimize_dataframe_dtypes(st.session_state['portfolio'])
898
-
899
- st.success('Portfolio file loaded successfully!')
900
- for col in st.session_state['portfolio'].select_dtypes(include=['object', 'category']).columns:
901
- if st.session_state['portfolio'][col].dtype == 'category':
902
- # Handle categorical columns
903
- st.session_state['portfolio'][col] = st.session_state['portfolio'][col].cat.rename_categories(
904
- lambda x: player_right_names_mlb.get(x, x) if x in player_wrong_names_mlb else x
905
- )
906
- else:
907
- # Handle object columns
908
- st.session_state['portfolio'][col] = st.session_state['portfolio'][col].replace(player_wrong_names_mlb)
909
- st.dataframe(st.session_state['portfolio'].head(10))
910
 
911
  with col3:
912
  st.subheader("Projections File")
 
859
 
860
  if 'portfolio' not in st.session_state:
861
  if st.session_state['portfolio_loaded']:
862
+ if portfolio_file is not None:
863
+ if upload_toggle == 'Paydirt DB':
864
+ portfolio_file = st.session_state['db_portfolio_file']
865
+ st.session_state['export_portfolio'], st.session_state['portfolio'] = load_file(portfolio_file, site_var, type_var, sport_var, 'portfolio')
866
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
867
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
868
 
869
+ st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
870
+ st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
871
 
872
+ elif upload_toggle == 'SaberSim (Just IDs)':
873
+ st.session_state['export_portfolio'], st.session_state['portfolio'] = load_ss_file(portfolio_file, st.session_state['csv_file'], site_var, type_var, sport_var)
874
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
875
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
876
 
877
+ st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
878
+ st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
879
 
880
+ elif upload_toggle == 'Draftkings/Fanduel (Names + IDs)':
881
+ st.session_state['export_portfolio'], st.session_state['portfolio'] = load_dk_fd_file(portfolio_file, st.session_state['csv_file'], site_var, type_var, sport_var)
882
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
883
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
884
 
885
+ st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
886
+ st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
887
 
888
+ else:
889
+ st.session_state['export_portfolio'], st.session_state['portfolio'] = load_file(portfolio_file, site_var, type_var, sport_var, 'portfolio')
890
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].dropna(how='all')
891
+ st.session_state['export_portfolio'] = st.session_state['export_portfolio'].reset_index(drop=True)
892
 
893
+ st.session_state['portfolio'] = st.session_state['portfolio'].dropna(how='all')
894
+ st.session_state['portfolio'] = st.session_state['portfolio'].reset_index(drop=True)
895
+ if st.session_state['portfolio'] is not None:
896
 
897
+ # Optimize data types early for memory efficiency
898
+ st.session_state['portfolio'] = optimize_dataframe_dtypes(st.session_state['portfolio'])
899
+
900
+ st.success('Portfolio file loaded successfully!')
901
+ for col in st.session_state['portfolio'].select_dtypes(include=['object', 'category']).columns:
902
+ if st.session_state['portfolio'][col].dtype == 'category':
903
+ # Handle categorical columns
904
+ st.session_state['portfolio'][col] = st.session_state['portfolio'][col].cat.rename_categories(
905
+ lambda x: player_right_names_mlb.get(x, x) if x in player_wrong_names_mlb else x
906
+ )
907
+ else:
908
+ # Handle object columns
909
+ st.session_state['portfolio'][col] = st.session_state['portfolio'][col].replace(player_wrong_names_mlb)
910
+ st.dataframe(st.session_state['portfolio'].head(10))
911
 
912
  with col3:
913
  st.subheader("Projections File")