File size: 1,215 Bytes
45351e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
053e7df
45351e3
 
 
 
c744629
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import pandas as pd

def create_player_comparison(df: pd.DataFrame, player_columns: list, entrants: list):
    overall_players = pd.Series(list(df[player_columns].values.flatten())).value_counts()
    contest_len = len(df)

    set_frame = overall_players.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
    set_frame['Percent'] = set_frame['Count'] / contest_len
    set_frame = set_frame[['Player', 'Percent']]
    set_frame = set_frame.rename(columns={'Percent': f'Exposure Overall'})
    player_frame = set_frame
    
    for each_user in entrants:
        overall_players = pd.Series(list(df[df['BaseName'] == each_user][player_columns].values.flatten())).value_counts()
    
        set_frame = overall_players.to_frame().reset_index().rename(columns={'index': 'Player', 'count': 'Count'})
        set_frame['Percent'] = set_frame['Count'] / len(df[df['BaseName'] == each_user])
        set_frame = set_frame[['Player', 'Percent']]
        set_frame = set_frame.rename(columns={'Percent': f'Exposure {each_user}'})
        player_frame = pd.merge(player_frame, set_frame, on='Player', how='outer')
    
    return player_frame.sort_values(by='Exposure Overall', ascending=False)