Last active
April 12, 2017 22:47
-
-
Save fangeugene/522ac4a498ec53311857ff04547e32c6 to your computer and use it in GitHub Desktop.
2017 Division Power
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from consts.event_type import EventType | |
from database.team_query import EventTeamsQuery | |
from database.event_query import TeamYearEventsQuery | |
teams = EventTeamsQuery('2017hop').fetch() | |
team_events_futures = [] | |
for team in teams: | |
team_events_futures.append(TeamYearEventsQuery(team.key.id(), 2017).fetch_async()) | |
team_event = {} | |
for team, team_events_future in zip(teams, team_events_futures): | |
team_events = sorted(team_events_future.get_result(), key=lambda e: e.start_date) | |
team_events = filter(lambda e: e.event_type_enum not in EventType.CMP_EVENT_TYPES, team_events) | |
event = team_events[-1] | |
event.prep_details() | |
team_event[team.key.id()] = event | |
gear_stats = {} | |
pressure_stats = {} | |
for team, event in team_event.items(): | |
gear_stats[team] = event.details.predictions['stat_mean_vars']['qual']['gears']['mean'][team] | |
pressure_stats[team] = event.details.predictions['stat_mean_vars']['qual']['pressure']['mean'][team] | |
aggregate_stats = {} | |
for team, gear_stat in gear_stats.items(): | |
pressure_stat = pressure_stats[team] | |
aggregate_stats[team] = gear_stat/max(gear_stats.values()) + pressure_stat/max(pressure_stats.values()) | |
#aggregate_stats[team] = gear_stat * 10 + pressure_stat | |
print 'Rank'.ljust(7), 'Team'.ljust(7), 'Combined Power'.ljust(15), 'Gear Power'.ljust(15), 'Fuel Power'.ljust(15) | |
for i, (team, val) in enumerate(sorted(aggregate_stats.items(), key=lambda x: -x[1])): | |
print str(i+1).ljust(7), team[3:].ljust(7), str(val).ljust(15), str(gear_stats[team]).ljust(15), str(pressure_stats[team]).ljust(15) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment