File size: 1,921 Bytes
31a2d34
 
 
 
 
 
 
 
 
 
 
 
5c8315f
31a2d34
 
5c8315f
 
31a2d34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import pandas as pd

def create_general_comparison(df: pd.DataFrame, entrants: list = None):
    loop_list = ['Overall'] + entrants
    for entrant in loop_list:
        check_cols = ['salary', 'actual_fpts', 'actual_own', 'dupes', 'uniques', 'under_5', 'under_10']
        general_exposures = pd.DataFrame()
        for each_col in check_cols:
            general_frame = pd.DataFrame()
            
            if entrant == 'Overall':
                overall_general = pd.Series(list(df[each_col])).sum()
                general_contest_len = len(df)
            else:
                overall_general = pd.Series(list(df[df['BaseName'] == entrant][each_col])).sum()
                general_contest_len = len(df[df['BaseName'] == entrant])
            
            each_set_name = ['Overall']
            each_general_set = [overall_general]
            each_general_len_set = [general_contest_len]
            general_count_var = 0
            for each_general in each_general_set:
                general_frame['Stat'] = [each_col]
                try:
                    general_frame['Average'] = [each_general / each_general_len_set[general_count_var]]
                except:
                    general_frame['Average'] = [0]
                general_frame = general_frame.rename(columns={'Average': f'Average {entrant}'})
            general_exposures = pd.concat([general_exposures, general_frame], ignore_index = True, axis = 0)
        general_exposures['Stat'] = general_exposures['Stat'].replace(['salary', 'actual_fpts', 'actual_own', 'dupes', 'uniques', 'under_5', 'under_10'], ['Salary Used', 'Finishing Points', 'Total Ownership', 'Duplications', 'Uniques', 'Under 5', 'Under 10'])
        if entrant == 'Overall':
            final_exposures = general_exposures
        else:
            final_exposures = pd.merge(final_exposures, general_exposures, on='Stat', how='outer')
    return final_exposures