James McCool commited on
Commit
9912bb5
·
1 Parent(s): d223b7a

Refactor general exposures dataframe handling in create_general_exposures function

Browse files

- Introduced a new approach for creating and merging the general exposures dataframe, enhancing code clarity and maintainability.
- Updated the logic to ensure proper concatenation of dataframes, improving the accuracy of displayed statistics.
- Maintained existing functionality while refining the data processing workflow for better performance.

global_func/create_general_exposures.py CHANGED
@@ -5,6 +5,7 @@ def create_general_exposures(df: pd.DataFrame, entrants: list = None):
5
  check_cols = ['salary', 'actual_fpts', 'actual_own', 'dupes']
6
  general_exposures = pd.DataFrame()
7
  for each_col in check_cols:
 
8
 
9
  if entrants is not None:
10
  overall_general = pd.Series(list(df[df['BaseName'].isin(entrants)][each_col])).sum()
@@ -25,17 +26,19 @@ def create_general_exposures(df: pd.DataFrame, entrants: list = None):
25
  general_count_var = 0
26
  for each_general in each_general_set:
27
  st.write(f'{each_col} Sum is {each_general}, Average is {each_general / each_general_len_set[general_count_var]}')
28
- general_frame = pd.DataFrame({
29
- 'Stat': [each_col],
30
- 'Average': [each_general / each_general_len_set[general_count_var]]
31
- })
32
  st.write(general_frame)
33
  general_frame = general_frame.rename(columns={'Average': f'Average {each_set_name[general_count_var]}'})
34
  if len(general_exposures) == 0:
35
- general_exposures = general_frame
36
  else:
37
- general_exposures = pd.merge(general_exposures, general_frame, on='Stat', how='outer')
38
  general_count_var += 1
39
  st.write(general_exposures)
 
 
 
 
40
 
41
  return general_exposures
 
5
  check_cols = ['salary', 'actual_fpts', 'actual_own', 'dupes']
6
  general_exposures = pd.DataFrame()
7
  for each_col in check_cols:
8
+ general_frame = pd.DataFrame()
9
 
10
  if entrants is not None:
11
  overall_general = pd.Series(list(df[df['BaseName'].isin(entrants)][each_col])).sum()
 
26
  general_count_var = 0
27
  for each_general in each_general_set:
28
  st.write(f'{each_col} Sum is {each_general}, Average is {each_general / each_general_len_set[general_count_var]}')
29
+ general_frame['Stat'] = [each_col]
30
+ general_frame['Average'] = [each_general / each_general_len_set[general_count_var]]
 
 
31
  st.write(general_frame)
32
  general_frame = general_frame.rename(columns={'Average': f'Average {each_set_name[general_count_var]}'})
33
  if len(general_exposures) == 0:
34
+ general_row = general_frame
35
  else:
36
+ general_row = pd.merge(general_exposures, general_frame, on='Stat', how='outer')
37
  general_count_var += 1
38
  st.write(general_exposures)
39
+ if len(general_exposures) == 0:
40
+ general_exposures = general_row
41
+ else:
42
+ general_exposures = pd.concat([general_exposures, general_frame], ignore_index = True)
43
 
44
  return general_exposures