def add_derivated_stats_to_dict(d, type_): try: d = { k: float(v) for (k, v) in d.items() if str(v).replace('.', '', 1).isdigit() == True and v is not None } except: d = d # logger.info('d is {0} and type for d {1}'.format(d, type(d))) # if d.get("FG"): # logger.info('d["FG"] is {0} and type for d["FG"] {1}'.format(d["FG"], type(d["FG"]))) # if d.get("3P"): # logger.info('d["3P"] is {0} and type for d["3P"] {1}'.format(d["3P"], type(d["3P"]))) d['FG%'] = 0.0 d['FT%'] = 0.0 d['3P%'] = 0.0 # d['eFG%'] = 0.0 # d['TSA'] = 0.0 # d['TS%'] = 0.0 d['3PAr'] = 0.0 d['FTAr'] = 0.0 d['2P'] = 0.0 d['2PA'] = 0.0 d['2P%'] = 0.0 d['2PAr'] = 0.0 d['DRB'] = 0.0 d['ORBr'] = 0.0 d['DRBr'] = 0.0 d['AST/TOV'] = 0.0 d['STL/TOV'] = 0.0 # d['FIC'] = 0.0 d['FT/FGA'] = 0.0 # d['HOB'] = 0.0 d.pop('+/-', None) if d.get('AST'): d['AST'] = float(d.get('AST')) if d.get('DRB'): d['DRB'] = float(d.get('DRB')) if d.get('ORB'): d['ORB'] = float(d.get('ORB')) if d.get('TRB'): d['TRB'] = float(d.get('TRB')) if d.get('STL'): d['STL'] = float(d.get('STL')) if d.get('FT'): d['FT'] = float(d.get('FT')) if d.get('FTA'): d['FTA'] = float(d.get('FTA')) if d.get('FG3'): d['FG3'] = float(d.get('FG3')) if d.get('FG') and d.get('FGA'): d['FG%'] = gen_derived_var(d.get('FG'), d.get('FGA')) if d.get('FT') and d.get('FTA'): d['FT%'] = gen_derived_var(d.get('FT'), d.get('FTA')) if d.get('3P') and d.get('3P'): d['3P%'] = gen_derived_var(d.get('3P'), d.get('3P')) # if d.get('FG') and d.get('3P') and d.get('FGA'): # d['eFG%'] = gen_derived_var((d.get('FG') + 0.5 * d.get('3P')), d.get('FGA')) # if d.get('FGA') and d.get('FTA'): # d['TSA'] = d.get('FGA') + 0.44 * d.get('FTA') # if d.get('FT') and d.get('FTA'): # d['TS%'] = gen_derived_var(d.get('PTS'), 2*d.get('TSA')) if d.get('FT') and d.get('FTA'): d['3PAr'] = gen_derived_var(d.get('3PA'), d.get('FGA')) if d.get('FT') and d.get('FGA'): d['FTAr'] = gen_derived_var(d.get('FTA'), d.get('FGA')) if d.get('FG') and d.get('3P'): d['2P'] = float(d.get('FG')) - float(d.get('3P')) if d.get('FGA') and d.get('3PA'): d['2PA'] = float(d.get('FGA')) - float(d.get('3PA')) if d.get('2P') and d.get('2P'): d['2P%'] = gen_derived_var(d.get('2P'), d.get('2P')) if d.get('2PA') and d.get('FGA'): d['2PAr'] = gen_derived_var(d.get('2PA'), d.get('FGA')) if d.get('ORB') and d.get('TRB'): d['DRB'] = float(d.get('TRB')) - float(d.get('ORB')) if d.get('ORB') and d.get('TRB'): d['ORBr'] = gen_derived_var(d.get('ORB'), d.get('TRB')) if d.get('DRB') and d.get('TRB'): d['DRBr'] = gen_derived_var(d.get('DRB'), d.get('TRB')) if d.get('AST') and d.get('TOV'): d['AST/TOV'] = gen_derived_var(d.get('AST'), d.get('TOV')) if d.get('STL') and d.get('TOV'): d['STL/TOV'] = gen_derived_var(d.get('STL'), d.get('TOV')) # if d.get('PTS') and d.get('ORB') and d.get('DRB') and d.get('AST') and d.get('STL') and d.get('BLK') and d.get('FTA') and d.get('TOV') and d.get('PF'): # d['FIC'] = (d.get('PTS') + d.get('ORB') + 0.75 * d.get('DRB') + d.get('AST') + d.get('STL') + # d.get('BLK') - 0.75 * d.get('BLK') - 0.375 * d.get('FTA') - d.get('TOV') - 0.5 * d.get('PF')) if d.get('FT') and d.get('FGA'): d['FT/FGA'] = gen_derived_var(d.get('FT'), d.get('FGA')) # if d.get('FG') and d.get('AST') and team_stats.get('FG'): # d['HOB'] = gen_derived_var(d.get('FG') + d.get('AST'), team_stats.get('FG')) return d
def add_derivated_stats_to_dict(d, type_): d['FG%'] = gen_derived_var(d['FG'], d['FGA']) d['FT%'] = gen_derived_var(d['FT'], d['FTA']) d['3P%'] = gen_derived_var(d['3P'], d['3PA']) d['eFG%'] = gen_derived_var((d['FG'] + 0.5 * d['3P']), d['FGA']) d['TSA'] = d['FGA'] + 0.44 * d['FTA'] d['TS%'] = gen_derived_var(d['PTS'], 2 * d['TSA']) d['3PAr'] = gen_derived_var(d['3PA'], d['FGA']) d['FTAr'] = gen_derived_var(d['FTA'], d['FGA']) d['2P'] = d['FG'] - d['3P'] d['2PA'] = d['FGA'] - d['3PA'] d['2P%'] = gen_derived_var(d['2P'], d['2PA']) d['2PAr'] = gen_derived_var(d['2PA'], d['FGA']) d['DRB'] = d['TRB'] - d['ORB'] d['ORBr'] = gen_derived_var(d['ORB'], d['TRB']) d['DRBr'] = gen_derived_var(d['DRB'], d['TRB']) d['AST/TOV'] = gen_derived_var(d['AST'], d['TOV']) d['STL/TOV'] = gen_derived_var(d['STL'], d['TOV']) d['FIC'] = (d['PTS'] + d['ORB'] + 0.75 * d['DRB'] + d['AST'] + d['STL'] + d['BLK'] - 0.75 * d['FGA'] - 0.375 * d['FTA'] - d['TOV'] - 0.5 * d['PF']) d['FT/FGA'] = gen_derived_var(d['FT'], d['FGA']) d['HOB'] = gen_derived_var(d['FG'] + d['AST'], team_stats['FG'])
def add_derivated_stats_to_dict(d, type_): d['FG%'] = gen_derived_var(d['FG'], d['FGA']) d['FT%'] = gen_derived_var(d['FT'], d['FTA']) d['3P%'] = gen_derived_var(d['3P'], d['3PA']) d['eFG%'] = gen_derived_var((d['FG'] + 0.5 * d['3P']), d['FGA']) d['TSA'] = d['FGA'] + 0.44 * d['FTA'] d['TS%'] = gen_derived_var(d['PTS'], 2*d['TSA']) d['3PAr'] = gen_derived_var(d['3PA'], d['FGA']) d['FTAr'] = gen_derived_var(d['FTA'], d['FGA']) d['2P'] = d['FG'] - d['3P'] d['2PA'] = d['FGA'] - d['3PA'] d['2P%'] = gen_derived_var(d['2P'], d['2PA']) d['2PAr'] = gen_derived_var(d['2PA'], d['FGA']) d['DRB'] = d['TRB'] - d['ORB'] d['ORBr'] = gen_derived_var(d['ORB'], d['TRB']) d['DRBr'] = gen_derived_var(d['DRB'], d['TRB']) d['AST/TOV'] = gen_derived_var(d['AST'], d['TOV']) d['STL/TOV'] = gen_derived_var(d['STL'], d['TOV']) d['FIC'] = (d['PTS'] + d['ORB'] + 0.75 * d['DRB'] + d['AST'] + d['STL'] + d['BLK'] - 0.75 * d['FGA'] - 0.375 * d['FTA'] - d['TOV'] - 0.5 * d['PF']) d['FT/FGA'] = gen_derived_var(d['FT'], d['FGA']) d['HOB'] = gen_derived_var(d['FG'] + d['AST'], team_stats['FG'])