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 =
|
| 29 |
-
|
| 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 |
-
|
| 36 |
else:
|
| 37 |
-
|
| 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
|