team_map = {
    'MIN': 'Minnesota Timberwolves',
    'ORL': 'Orlando Magic',
    'BOS': 'Boston Celtics',
    'IND': 'Indiana Pacers',
    'POR': 'Portland Trail Blazers',
    'UTA': 'Utah Jazz',
    'OKC': 'Oklahoma City Thunder',
    'PHX': 'Phoenix Suns',
    'BKN': 'Brooklyn Nets',
    'PHI': 'Philadelphia 76ers',
    'DET': 'Detroit Pistons',
    'GSW': 'Golden State Warriors',
    'LAL': 'Los Angeles Lakers',
    'MEM': 'Memphis Grizzlies',
    'NOP': 'New Orleans Pelicans',
    'LAC': 'Los Angeles Clippers',
    'CHI': 'Chicago Bulls',
    'WAS': 'Washington Wizards',
    'HOU': 'Houston Rockets',
    'MIL': 'Milwaukee Bucks',
    'SAS': 'San Antonio Spurs',
    'SAC': 'Sacramento Kings',
    'TOR': 'Toronto Raptors',
    'CHA': 'Charlotte Hornets',
    'NYK': 'New York Knicks',
    'DEN': 'Denver Nuggets',
    'ATL': 'Atlanta Hawks',
    'MIA': 'Miami Heat',
    'DAL': 'Dallas Mavericks',
    'CLE': 'Cleveland Cavaliers',
    'NOH': 'New Orleans Hornets',
    'NJN': 'New Jersey Nets'
}

stat_types = {
    'game_totals': ['FGM_PG', 'FGA_PG', 'TOUCHES', 'FRONT_CT_TOUCHES',
                    'TIME_OF_POSS', 'DRIVES', 'DRIVE_FGM', 'DRIVE_FGA',
                    'DRIVE_FTM', 'DRIVE_FTA', 'DRIVE_PTS', 'DRIVE_PASSES',
                    'DRIVE_AST', 'DRIVE_TOV', 'DRIVE_PF', 'PASSES_MADE',
                    'PASSES_RECEIVED', 'AST', 'FT_AST', 'SECONDARY_AST',
                    'AST_POINTS_CREATED', 'AST_ADJ', 'DIST_MILES',
                    'DIST_MILES_OFF', 'DIST_MILES_DEF', 'OREB', 'OREB_CONTEST',
                    'OREB_UNCONTEST', 'OREB_CHANCES', 'OREB_CHANCE_DEFER',
                    'DREB', 'DREB_CONTEST', 'DREB_UNCONTEST', 'DREB_CHANCES',
                    'DREB_CHANCE_DEFER', 'REB', 'REB_CONTEST', 'REB_UNCONTEST',
                    'REB_CHANCES', 'REB_CHANCE_DEFER', 'CATCH_SHOOT_FGM',
                    'CATCH_SHOOT_FGA', 'CATCH_SHOOT_PTS', 'CATCH_SHOOT_FG3M',
                    'CATCH_SHOOT_FG3A', 'PULL_UP_FGM', 'PULL_UP_FGA',
                    'PULL_UP_PTS', 'PULL_UP_FG3M', 'PULL_UP_FG3A',
                    'ELBOW_TOUCHES', 'ELBOW_TOUCH_FGM', 'ELBOW_TOUCH_FGA',
                    'ELBOW_TOUCH_FTM', 'ELBOW_TOUCH_FTA', 'ELBOW_TOUCH_PTS',
                    'ELBOW_TOUCH_PASSES', 'ELBOW_TOUCH_AST', 'ELBOW_TOUCH_TOV',
                    'ELBOW_TOUCH_FOULS', 'POST_TOUCHES', 'POST_TOUCH_FGM',
                    'POST_TOUCH_FGA', 'POST_TOUCH_FTM', 'POST_TOUCH_FTA',
                    'POST_TOUCH_PTS', 'POST_TOUCH_PASSES', 'POST_TOUCH_AST',
                    'POST_TOUCH_TOV', 'POST_TOUCH_FOULS', 'PAINT_TOUCHES',
                    'PAINT_TOUCH_FGM', 'PAINT_TOUCH_FGA', 'PAINT_TOUCH_FTM',
                    'PAINT_TOUCH_FTA', 'PAINT_TOUCH_PTS', 'PAINT_TOUCH_PASSES',
                    'PAINT_TOUCH_AST', 'PAINT_TOUCH_TOV', 'PAINT_TOUCH_FOULS',
                    'CONTESTED_SHOTS', 'CONTESTED_SHOTS_2PT',
                    'CONTESTED_SHOTS_3PT', 'CHARGES_DRAWN', 'DEFLECTIONS',
                    'LOOSE_BALLS_RECOVERED', 'SCREEN_ASSISTS', 'BOX_OUTS',
                    'TIGHT_FGM', 'TIGHT_FGA', 'TIGHT_FG2M', 'TIGHT_FG2A',
                    'TIGHT_FG3M', 'TIGHT_FG3A', 'VERY_TIGHT_FGM',
                    'VERY_TIGHT_FGA', 'VERY_TIGHT_FG2M', 'VERY_TIGHT_FG2A',
                    'VERY_TIGHT_FG3M', 'VERY_TIGHT_FG3A', 'OPEN_FGM',
                    'OPEN_FGA', 'OPEN_FG2M', 'OPEN_FG2A', 'OPEN_FG3M',
                    'OPEN_FG3A', 'VERY_OPEN_FGM', 'VERY_OPEN_FGA',
                    'VERY_OPEN_FG2M', 'VERY_OPEN_FG2A', 'VERY_OPEN_FG3M',
                    'VERY_OPEN_FG3A', '1_DRIBBLE_FGM', '1_DRIBBLE_FGA',
                    '1_DRIBBLE_FG2M', '1_DRIBBLE_FG2A', '1_DRIBBLE_FG3M',
                    '1_DRIBBLE_FG3A', '2_DRIBBLES_FGM', '2_DRIBBLES_FGA',
                    '2_DRIBBLES_FG2M', '2_DRIBBLES_FG2A', '2_DRIBBLES_FG3M',
                    '2_DRIBBLES_FG3A', '3_6_DRIBBLES_FGM', '3_6_DRIBBLES_FGA',
                    '3_6_DRIBBLES_FG2M', '3_6_DRIBBLES_FG2A',
                    '3_6_DRIBBLES_FG3M', '3_6_DRIBBLES_FG3A',
                    '7_DRIBBLES_FGM', '7_DRIBBLES_FGA', '7_DRIBBLES_FG2M',
                    '7_DRIBBLES_FG2A', '7_DRIBBLES_FG3M',
                    '7_DRIBBLES_FG3A', 'FTM', 'FTA'],
    'as_is': ['AGE', 'MIN', 'AST_PCT', 'AST_TO', 'AST_RATIO', 'OREB_PCT',
              'DREB_PCT', 'REB_PCT', 'TM_TOV_PCT', 'EFG_PCT', 'TS_PCT',
              'USG_PCT', 'PACE', 'FG_PCT', 'SEASON', 'AVG_SEC_PER_TOUCH',
              'AVG_DRIB_PER_TOUCH', 'PTS_PER_TOUCH', 'PTS_PER_ELBOW_TOUCH',
              'PTS_PER_PAINT_TOUCH', 'PTS_PER_POST_TOUCH', 'DRIVE_FG_PCT',
              'DRIVE_FT_PCT', 'DRIVE_PTS_PCT', 'DRIVE_PASSES_PCT',
              'DRIVE_AST_PCT', 'DRIVE_TOV_PCT', 'DRIVE_PF_PCT',
              'AST_TO_PASS_PCT', 'AST_TO_PASS_PCT_ADJ', 'AVG_SPEED',
              'AVG_SPEED_OFF', 'AVG_SPEED_DEF', 'OREB_CONTEST_PCT',
              'OREB_CHANCE_PCT', 'OREB_CHANCE_PCT_ADJ', 'AVG_OREB_DIST',
              'DREB_CONTEST_PCT', 'DREB_CHANCE_PCT', 'DREB_CHANCE_PCT_ADJ',
              'AVG_DREB_DIST', 'REB_CONTEST_PCT', 'REB_CHANCE_PCT',
              'REB_CHANCE_PCT_ADJ', 'AVG_REB_DIST', 'CATCH_SHOOT_FG_PCT',
              'CATCH_SHOOT_FG3_PCT', 'CATCH_SHOOT_EFG_PCT', 'PULL_UP_FG_PCT',
              'PULL_UP_FG3_PCT', 'PULL_UP_EFG_PCT', 'ELBOW_TOUCH_FG_PCT',
              'ELBOW_TOUCH_FT_PCT', 'ELBOW_TOUCH_AST_PCT',
              'ELBOW_TOUCH_TOV_PCT', 'POST_TOUCH_PASSES_PCT',
              'POST_TOUCH_FG_PCT', 'POST_TOUCH_FT_PCT', 'POST_TOUCH_PTS_PCT',
              'POST_TOUCH_AST_PCT', 'POST_TOUCH_TOV_PCT',
              'POST_TOUCH_FOUL_PCT', 'PAINT_TOUCH_PASSES_PCT',
              'PAINT_TOUCH_FG_PCT', 'PAINT_TOUCH_FT_PCT',
              'PAINT_TOUCH_PTS_PCT', 'PAINT_TOUCH_AST_PCT',
              'PAINT_TOUCH_TOV_PCT', 'PAINT_TOUCH_FOUL_PCT',
              'TIGHT_FGA_FREQUENCY', 'TIGHT_FG_PCT', 'TIGHT_EFG_PCT',
              'TIGHT_FG2A_FREQUENCY', 'TIGHT_FG2_PCT', 'TIGHT_FG3A_FREQUENCY',
              'TIGHT_FG3_PCT', 'VERY_TIGHT_FGA_FREQUENCY', 'VERY_TIGHT_FG_PCT',
              'VERY_TIGHT_EFG_PCT', 'VERY_TIGHT_FG2A_FREQUENCY',
              'VERY_TIGHT_FG2_PCT', 'VERY_TIGHT_FG3A_FREQUENCY',
              'VERY_TIGHT_FG3_PCT', 'OPEN_FGA_FREQUENCY', 'OPEN_FG_PCT',
              'OPEN_EFG_PCT', 'OPEN_FG2A_FREQUENCY', 'OPEN_FG2_PCT',
              'OPEN_FG3A_FREQUENCY', 'OPEN_FG3_PCT', 'VERY_OPEN_FGA_FREQUENCY',
              'VERY_OPEN_FG_PCT', 'VERY_OPEN_EFG_PCT',
              'VERY_OPEN_FG2A_FREQUENCY', 'VERY_OPEN_FG2_PCT',
              'VERY_OPEN_FG3A_FREQUENCY', 'VERY_OPEN_FG3_PCT',
              '1_DRIBBLE_FGA_FREQUENCY', '1_DRIBBLE_FG_PCT',
              '1_DRIBBLE_EFG_PCT', '1_DRIBBLE_FG2A_FREQUENCY',
              '1_DRIBBLE_FG2_PCT', '1_DRIBBLE_FG3A_FREQUENCY',
              '1_DRIBBLE_FG3_PCT', '2_DRIBBLES_FGA_FREQUENCY',
              '2_DRIBBLES_FG_PCT', '2_DRIBBLES_EFG_PCT',
              '2_DRIBBLES_FG2A_FREQUENCY', '2_DRIBBLES_FG2_PCT',
              '2_DRIBBLES_FG3A_FREQUENCY', '2_DRIBBLES_FG3_PCT',
              '3_6_DRIBBLES_FGA_FREQUENCY', '3_6_DRIBBLES_FG_PCT',
              '3_6_DRIBBLES_EFG_PCT', '3_6_DRIBBLES_FG2A_FREQUENCY',
              '3_6_DRIBBLES_FG2_PCT', '3_6_DRIBBLES_FG3A_FREQUENCY',
              '3_6_DRIBBLES_FG3_PCT', '7_DRIBBLES_FGA_FREQUENCY',
              '7_DRIBBLES_FG_PCT', '7_DRIBBLES_EFG_PCT',
              '7_DRIBBLES_FG2A_FREQUENCY', '7_DRIBBLES_FG2_PCT',
              '7_DRIBBLES_FG3A_FREQUENCY', '7_DRIBBLES_FG3_PCT',
              'PLAYER_HEIGHT_INCHES', 'PLAYER_WEIGHT', 'TOTAL_MIN', 'FT_PCT'],
    'totals': ['FGM', 'FGA']
}


# Putting in the potentially relevant non-overlapping columns
# Defensive impact not used because it did not have useful information
# Shooting efficiency not included since it is in other data sets
columns_dict = {
    'advanced': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'TEAM_ID', 'TEAM_ABBREVIATION', 'AGE', 'GP', 'W', 'L', 'W_PCT',
                 'MIN', 'OFF_RATING', 'DEF_RATING', 'NET_RATING', 'AST_PCT', 'AST_TO', 'AST_RATIO', 'TM_TOV_PCT',
                 'EFG_PCT', 'TS_PCT', 'USG_PCT', 'PACE', 'FGM', 'FGA', 'FGM_PG', 'FGA_PG', 'FG_PCT'],
    'touches': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'POINTS', 'TOUCHES', 'FRONT_CT_TOUCHES', 'TIME_OF_POSS',
                'AVG_SEC_PER_TOUCH', 'AVG_DRIB_PER_TOUCH', 'PTS_PER_TOUCH', 'PTS_PER_ELBOW_TOUCH',
                'PTS_PER_POST_TOUCH', 'PTS_PER_PAINT_TOUCH'],
    'drives': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'DRIVES', 'DRIVE_FGM', 'DRIVE_FGA', 'DRIVE_FG_PCT', 'DRIVE_FTM',
               'DRIVE_FTA', 'DRIVE_FT_PCT', 'DRIVE_PTS', 'DRIVE_PTS_PCT', 'DRIVE_PASSES', 'DRIVE_PASSES_PCT',
               'DRIVE_AST', 'DRIVE_AST_PCT', 'DRIVE_TOV', 'DRIVE_TOV_PCT', 'DRIVE_PF', 'DRIVE_PF_PCT', ],
    'passing': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'PASSES_MADE', 'PASSES_RECEIVED', 'AST', 'FT_AST',
                'SECONDARY_AST', 'POTENTIAL_AST', 'AST_POINTS_CREATED', 'AST_ADJ', 'AST_TO_PASS_PCT',
                'AST_TO_PASS_PCT_ADJ'],
    'speed_distance': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'DIST_FEET', 'DIST_MILES', 'DIST_MILES_OFF',
                       'DIST_MILES_DEF', 'AVG_SPEED', 'AVG_SPEED_OFF', 'AVG_SPEED_DEF'],
    'rebounding': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'OREB', 'OREB_CONTEST', 'OREB_UNCONTEST', 'OREB_CONTEST_PCT',
                   'OREB_CHANCES', 'OREB_CHANCE_PCT', 'OREB_CHANCE_DEFER', 'OREB_CHANCE_PCT_ADJ', 'AVG_OREB_DIST',
                   'DREB', 'DREB_CONTEST', 'DREB_UNCONTEST', 'DREB_CONTEST_PCT', 'DREB_CHANCES', 'DREB_CHANCE_PCT',
                   'DREB_CHANCE_DEFER', 'DREB_CHANCE_PCT_ADJ', 'AVG_DREB_DIST', 'REB', 'REB_CONTEST', 'REB_UNCONTEST',
                   'REB_CONTEST_PCT', 'REB_CHANCES', 'REB_CHANCE_PCT', 'REB_CHANCE_DEFER', 'REB_CHANCE_PCT_ADJ',
                   'AVG_REB_DIST'],
    'catch_shoot': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'CATCH_SHOOT_FGM', 'CATCH_SHOOT_FGA', 'CATCH_SHOOT_FG_PCT',
                    'CATCH_SHOOT_PTS', 'CATCH_SHOOT_FG3M', 'CATCH_SHOOT_FG3A', 'CATCH_SHOOT_FG3_PCT',
                    'CATCH_SHOOT_EFG_PCT'],
    'pullup_shooting': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'PULL_UP_FGM', 'PULL_UP_FGA', 'PULL_UP_FG_PCT',
                        'PULL_UP_FG3M', 'PULL_UP_FG3A', 'PULL_UP_FG3_PCT', 'PULL_UP_PTS', 'PULL_UP_EFG_PCT'],
    'elbow_touches': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'ELBOW_TOUCHES', 'ELBOW_TOUCH_FGM', 'ELBOW_TOUCH_FGA',
                      'ELBOW_TOUCH_FG_PCT', 'ELBOW_TOUCH_FTM', 'ELBOW_TOUCH_FTA', 'ELBOW_TOUCH_FT_PCT',
                      'ELBOW_TOUCH_PTS', 'ELBOW_TOUCH_PASSES', 'ELBOW_TOUCH_AST', 'ELBOW_TOUCH_AST_PCT',
                      'ELBOW_TOUCH_TOV', 'ELBOW_TOUCH_TOV_PCT', 'ELBOW_TOUCH_FOULS'],
    'post_ups': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'POST_TOUCHES', 'POST_TOUCH_FGM', 'POST_TOUCH_FGA',
                 'POST_TOUCH_FG_PCT', 'POST_TOUCH_FTM', 'POST_TOUCH_FTA', 'POST_TOUCH_FT_PCT', 'POST_TOUCH_PTS',
                 'POST_TOUCH_PTS_PCT', 'POST_TOUCH_PASSES', 'POST_TOUCH_PASSES_PCT', 'POST_TOUCH_AST',
                 'POST_TOUCH_AST_PCT', 'POST_TOUCH_TOV', 'POST_TOUCH_TOV_PCT', 'POST_TOUCH_FOULS',
                 'POST_TOUCH_FOULS_PCT'],
    'paint_touches': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'PAINT_TOUCHES', 'PAINT_TOUCH_FGM','PAINT_TOUCH_FGA',
                      'PAINT_TOUCH_FG_PCT', 'PAINT_TOUCH_FTM','PAINT_TOUCH_FTA', 'PAINT_TOUCH_FT_PCT',
                      'PAINT_TOUCH_PTS','PAINT_TOUCH_PTS_PCT', 'PAINT_TOUCH_PASSES', 'PAINT_TOUCH_PASSES_PCT',
                      'PAINT_TOUCH_AST', 'PAINT_TOUCH_AST_PCT', 'PAINT_TOUCH_TOV','PAINT_TOUCH_TOV_PCT',
                      'PAINT_TOUCH_FOULS', 'PAINT_TOUCH_FOULS_PCT'],
    'hustle': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'CONTESTED_SHOTS', 'CONTESTED_SHOTS_2PT', 'CONTESTED_SHOTS_3PT',
               'CHARGES_DRAWN', 'DEFLECTIONS', 'LOOSE_BALLS_RECOVERED', 'SCREEN_ASSISTS', 'BOX_OUTS'],
    'shooting_tight': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'TIGHT_FGA_FREQUENCY', 'TIGHT_FGM', 'TIGHT_FGA',
                       'TIGHT_FG_PCT', 'TIGHT_EFG_PCT', 'TIGHT_FG2A_FREQUENCY', 'TIGHT_FG2M', 'TIGHT_FG2A',
                       'TIGHT_FG2_PCT', 'TIGHT_FG3A_FREQUENCY', 'TIGHT_FG3M', 'TIGHT_FG3A', 'TIGHT_FG3_PCT'],
    'shooting_very_tight': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'VERY_TIGHT_FGA_FREQUENCY', 'VERY_TIGHT_FGM',
                            'VERY_TIGHT_FGA', 'VERY_TIGHT_FG_PCT', 'VERY_TIGHT_EFG_PCT', 'VERY_TIGHT_FG2A_FREQUENCY',
                            'VERY_TIGHT_FG2M', 'VERY_TIGHT_FG2A', 'VERY_TIGHT_FG2_PCT', 'VERY_TIGHT_FG3A_FREQUENCY',
                            'VERY_TIGHT_FG3M', 'VERY_TIGHT_FG3A', 'VERY_TIGHT_FG3_PCT'],
    'shooting_open': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'OPEN_FGA_FREQUENCY', 'OPEN_FGM', 'OPEN_FGA',
                      'OPEN_FG_PCT', 'OPEN_EFG_PCT', 'OPEN_FG2A_FREQUENCY', 'OPEN_FG2M', 'OPEN_FG2A', 'OPEN_FG2_PCT',
                      'OPEN_FG3A_FREQUENCY', 'OPEN_FG3M', 'OPEN_FG3A', 'OPEN_FG3_PCT'],
    'shooting_very_open': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'VERY_OPEN_FGA_FREQUENCY', 'VERY_OPEN_FGM',
                           'VERY_OPEN_FGA', 'VERY_OPEN_FG_PCT', 'VERY_OPEN_EFG_PCT', 'VERY_OPEN_FG2A_FREQUENCY',
                           'VERY_OPEN_FG2M', 'VERY_OPEN_FG2A', 'VERY_OPEN_FG2_PCT', 'VERY_OPEN_FG3A_FREQUENCY',
                           'VERY_OPEN_FG3M', 'VERY_OPEN_FG3A', 'VERY_OPEN_FG3_PCT'],
    'shooting_1_dribble': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', '1_DRIBBLE_FGA_FREQUENCY', '1_DRIBBLE_FGM',
                           '1_DRIBBLE_FGA', '1_DRIBBLE_FG_PCT', '1_DRIBBLE_EFG_PCT', '1_DRIBBLE_FG2A_FREQUENCY',
                           '1_DRIBBLE_FG2M', '1_DRIBBLE_FG2A', '1_DRIBBLE_FG2_PCT', '1_DRIBBLE_FG3A_FREQUENCY',
                           '1_DRIBBLE_FG3M', '1_DRIBBLE_FG3A', '1_DRIBBLE_FG3_PCT'],
    'shooting_2_dribbles': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', '2_DRIBBLES_FGA_FREQUENCY', '2_DRIBBLES_FGM',
                            '2_DRIBBLES_FGA', '2_DRIBBLES_FG_PCT', '2_DRIBBLES_EFG_PCT', '2_DRIBBLES_FG2A_FREQUENCY',
                            '2_DRIBBLES_FG2M', '2_DRIBBLES_FG2A', '2_DRIBBLES_FG2_PCT', '2_DRIBBLES_FG3A_FREQUENCY',
                            '2_DRIBBLES_FG3M', '2_DRIBBLES_FG3A', '2_DRIBBLES_FG3_PCT'],
    'shooting_3_6_dribbles': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', '3_6_DRIBBLES_FGA_FREQUENCY', '3_6_DRIBBLES_FGM',
                              '3_6_DRIBBLES_FGA', '3_6_DRIBBLES_FG_PCT', '3_6_DRIBBLES_EFG_PCT', '3_6_DRIBBLES_FG2A_FREQUENCY',
                              '3_6_DRIBBLES_FG2M', '3_6_DRIBBLES_FG2A', '3_6_DRIBBLES_FG2_PCT', '3_6_DRIBBLES_FG3A_FREQUENCY',
                              '3_6_DRIBBLES_FG3M', '3_6_DRIBBLES_FG3A', '3_6_DRIBBLES_FG3_PCT'],
    'shooting_7_dribbles': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', '7_DRIBBLES_FGA_FREQUENCY', '7_DRIBBLES_FGM',
                            '7_DRIBBLES_FGA', '7_DRIBBLES_FG_PCT', '7_DRIBBLES_EFG_PCT', '7_DRIBBLES_FG2A_FREQUENCY',
                            '7_DRIBBLES_FG2M', '7_DRIBBLES_FG2A', '7_DRIBBLES_FG2_PCT', '7_DRIBBLES_FG3A_FREQUENCY',
                            '7_DRIBBLES_FG3M', '7_DRIBBLES_FG3A', '7_DRIBBLES_FG3_PCT'],
    'bios': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'PLAYER_HEIGHT_INCHES', 'PLAYER_WEIGHT'],
    'traditional': ['SEASON', 'PLAYER_ID', 'PLAYER_NAME', 'FTM', 'FTA', 'FT_PCT']
}

color_dict = {
    'primary': {
        'ATL': (225,68,52),
        'BKN': (0,0,0),
        'BOS': (0,122,51),
        'CHA': (29,17,96),
        'CHI': (206,17,65),
        'CLE': (111,38,61),
        'DAL': (0,83,188),
        'DEN': (13,34,64),
        'DET': (200,16,46),
        'GSW': (0,107,182),
        'HOU': (206,17,65),
        'IND': (0,45,98),
        'LAC': (200,16,46),
        'LAL': (85,37,130),
        'MEM': (93,118,169),
        'MIA': (152,0,46),
        'MIL': (0,71,27),
        'MIN': (12,35,64),
        'NOP': (0,22,65),
        'NYK': (0,107,182),
        'OKC': (0,125,195),
        'ORL': (0,125,197),
        'PHI': (0,107,182),
        'PHX': (29,17,96),
        'POR': (224,58,62),
        'SAC': (91,43,130),
        'SAS': (196,206,211),
        'TOR': (206,17,65),
        'UTA': (0,43,92),
        'WAS': (0,43,92)
    },
    'secondary': {
        'ATL': (196,214,0),
        'BKN': (119,125,132),
        'BOS': (139,111,78),
        'CHA': (0,120,140),
        'CHI': (6,25,34),
        'CLE': (255,184,28),
        'DAL': (0,43,92),
        'DEN': (255,198,39),
        'DET': (29,66,138),
        'GSW': (253,185,39),
        'HOU': (196,206,211),
        'IND': (253,187,48),
        'LAC': (29,66,148),
        'LAL': (253,185,39),
        'MEM': (18,23,63),
        'MIA': (6,25,34),
        'MIL': (240,235,210),
        'MIN': (35,97,146),
        'NOP': (225,58,62),
        'NYK': (245,132,38),
        'OKC': (239,59,36),
        'ORL': (196,25,34),
        'PHI': (237,23,76),
        'PHX': (229,95,32),
        'POR': (6,25,34),
        'SAC': (99,113,122),
        'SAS': (6,25,34),
        'TOR': (6,25,34),
        'UTA': (0,71,27),
        'WAS': (227,24,55)
    }
}

title_dict = {
    'POST_TOUCH_RATE': 'Post-Up Rate',
    'POST_TOUCH_EV': 'Post-Up Performance',
    'DRIVE_RATE': 'Drive Rate',
    'DRIVE_EV': 'Drive Performance',
    'CATCH_SHOOT_RATE': 'Catch-and-Shoot Rate',
    'CATCH_SHOOT_EV': 'Catch-and-Shoot Performance',
    'PULL_UP_RATE': 'Pull-Up Rate',
    'PULL_UP_EV': 'Pull-Up Performance'
}

skill_max = {
    'POST_TOUCH_RATE': 0.4187755102040817,
    'POST_TOUCH_EV': 1.3392919640435357,
    'DRIVE_RATE': 0.4788888888888889,
    'DRIVE_EV': 1.5,
    'CATCH_SHOOT_RATE': 0.3692307692307692,
    'CATCH_SHOOT_EV': 1.576,
    'PULL_UP_RATE': 0.361271676300578,
    'PULL_UP_EV': 1.308
}

skill_avg = {
    'POST_TOUCH_RATE': 0.03978835715950378,
    'POST_TOUCH_EV': 0.5362031339674892,
    'DRIVE_RATE': 0.11624891464574634,
    'DRIVE_EV': 0.8134376186193863,
    'CATCH_SHOOT_RATE': 0.10991854980561748,
    'CATCH_SHOOT_EV': 0.9698239331368969,
    'PULL_UP_RATE': 0.08614674479312547,
    'PULL_UP_EV': 0.7581084463963609
}
