Example #1
0
def show_season_table(db, player, stype, week_range=None, pos=None):
    if pos is None:
        pos = player.position
    _, cur_year, _ = nfldb.current(db)

    pstats = []
    for year in range(2009, cur_year+1):
        qgames = nflcmd.query_games(db, player, year, stype, week_range)
        games = qgames.as_games()
        if len(games) == 0:
            continue

        game_stats = map(partial(nflcmd.Game.make, db, player), games)
        agg = qgames.sort([]).as_aggregate()
        pstats.append(nflcmd.Games(db, year, game_stats, agg[0]))

    spec = prefix_season + nflcmd.columns['season'][nflcmd.pcolumns[pos]]
    rows = [nflcmd.header_row(spec)]
    rows += map(partial(nflcmd.pstat_to_row, spec), pstats)
    if len(pstats) > 1:
        summary = nfldb.aggregate(pstat._pstat for pstat in pstats)[0]
        allrows = nflcmd.Games(db, '-', [], summary)
        allrows._fgs = []
        for pstat in pstats:
            allrows._fgs += pstat.fgs
            allrows.games += pstat.games
        rows.append(nflcmd.pstat_to_row(spec, allrows))
    print(nflcmd.table(rows))
def NOTUSED_recep_yds_per_third_down(db=db):
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()
    aggregated = nfldb.aggregate(plays) # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated, key=lambda p: p.receiving_tar, reverse=True)
    for pp in aggregated[0:10]:
        name = pp.player
        statement = '%s recep yds on 3rd down' %  pp.receiving_yds
        attempts = 'on %s targets' % pp.receiving_tar
        average = '@ %.2f yds/target' % (float(pp.receiving_yds) / float(pp.receiving_tar))
        comp_rate = '.recep rate: %.2f' % (100 *(float(pp.receiving_rec) / float(pp.receiving_tar))) + '%'
        print name, statement, attempts, average, comp_rate
def most_wr_third_down_yards(db=db, q=q):
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays)
    aggregated = sorted(aggregated, key=lambda p: p.rushing_att, reverse=True)
    for pp in aggregated[0:5]:
        name = pp.player
        statement = 'rushed for %s yards on 3rd down' % pp.rushing_yds
        attempts = 'on %s attempts' % pp.rushing_att
        average = '@ %s yds/attempt' % (pp.rushing_yds / pp.rushing_att)
        print name, statement, attempts, average
    pass
def most_wr_third_down_yards(db=db, q=q):
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays)
    aggregated = sorted(aggregated, key=lambda p: p.rushing_att, reverse=True)
    for pp in aggregated[0:5]:
        name = pp.player
        statement = 'rushed for %s yards on 3rd down' %  pp.rushing_yds
        attempts = 'on %s attempts' % pp.rushing_att
        average = '@ %s yds/attempt' % (pp.rushing_yds / pp.rushing_att)
        print name, statement, attempts, average
    pass
def dep_rushing_yds_per_third_down(db=db):
    q = nfldb.Query(db)
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays)
    aggregated = sorted(aggregated, key=lambda p: p.rushing_yds, reverse=True)
    for pp in aggregated[0:10]:
        name = pp.player
        statement = 'rushed for %s yds on 3rd down' %  pp.rushing_yds
        attempts = 'on %s att' % pp.rushing_att
        average = '@ %.2f yds/att' % (float(pp.rushing_yds) / float(pp.rushing_att))
        print name, statement, attempts, average
    pass
def most_yards_per_third_down(db=db, q=q):
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1, passing_yds__ne=0)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays) # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated, key=lambda p: p.passing_yds, reverse=True)
    for pp in aggregated[0:5]:
        #print pp.player, pp.passing_yds, pp.passing_att
        name = pp.player
        statement = 'threw for %s passing yards on 3rd down' %  pp.passing_yds
        attempts = 'on %s attempts' % pp.passing_att
        average = '@ %s yds/attempt' % (pp.passing_yds / pp.passing_att)
        print name, statement, attempts, average
def most_yards_per_third_down(db=db, q=q):
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1, passing_yds__ne=0)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(
        plays)  # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated, key=lambda p: p.passing_yds, reverse=True)
    for pp in aggregated[0:5]:
        #print pp.player, pp.passing_yds, pp.passing_att
        name = pp.player
        statement = 'threw for %s passing yards on 3rd down' % pp.passing_yds
        attempts = 'on %s attempts' % pp.passing_att
        average = '@ %s yds/attempt' % (pp.passing_yds / pp.passing_att)
        print name, statement, attempts, average
Example #8
0
def dep_rushing_yds_per_third_down(db=db):
    q = nfldb.Query(db)
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays)
    aggregated = sorted(aggregated, key=lambda p: p.rushing_yds, reverse=True)
    for pp in aggregated[0:10]:
        name = pp.player
        statement = 'rushed for %s yds on 3rd down' % pp.rushing_yds
        attempts = 'on %s att' % pp.rushing_att
        average = '@ %.2f yds/att' % (float(pp.rushing_yds) /
                                      float(pp.rushing_att))
        print name, statement, attempts, average
    pass
def passing_yds_per_third_down(db=db):
    q = nfldb.Query(db)
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(plays) # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated, key=lambda p: p.passing_yds, reverse=True)
    for pp in aggregated[0:10]:
        #print pp.player, pp.passing_yds, pp.passing_att
        name = pp.player
        statement = 'threw for %s passing yds on 3rd down' %  pp.passing_yds
        attempts = 'on %s att' % pp.passing_att
        average = '@ %.2f yds/att' % (float(pp.passing_yds) / float(pp.passing_att))
        comp_rate = '.Comp rate: %.2f' % (100 *(float(pp.passing_cmp) / float(pp.passing_att))) + '%'
        print name, statement, attempts, average, comp_rate
Example #10
0
def show_game_table(db, player, year, stype, week_range=None, pos=None):
    if pos is None:
        pos = player.position

    games = nflcmd.query_games(db, player, year, stype, week_range).as_games()
    pstats = map(partial(nflcmd.Game.make, db, player), games)

    spec = prefix_game + nflcmd.columns['game'][nflcmd.pcolumns[pos]]
    rows = [nflcmd.header_row(spec)]
    rows += map(partial(nflcmd.pstat_to_row, spec), pstats)
    if len(pstats) > 1:
        summary = nfldb.aggregate(pstat._pstat for pstat in pstats)[0]
        allrows = nflcmd.Game(db, None, '-', summary)
        allrows._fgs = []
        for pstat in pstats:
            allrows._fgs += pstat.fgs
        rows.append(nflcmd.pstat_to_row(spec, allrows))
    print(nflcmd.table(rows))
Example #11
0
def NOTUSED_recep_yds_per_third_down(db=db):
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()
    aggregated = nfldb.aggregate(
        plays)  # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated,
                        key=lambda p: p.receiving_tar,
                        reverse=True)
    for pp in aggregated[0:10]:
        name = pp.player
        statement = '%s recep yds on 3rd down' % pp.receiving_yds
        attempts = 'on %s targets' % pp.receiving_tar
        average = '@ %.2f yds/target' % (float(pp.receiving_yds) /
                                         float(pp.receiving_tar))
        comp_rate = '.recep rate: %.2f' % (
            100 * (float(pp.receiving_rec) / float(pp.receiving_tar))) + '%'
        print name, statement, attempts, average, comp_rate
Example #12
0
def passing_yds_per_third_down(db=db):
    q = nfldb.Query(db)
    '''returns most yards/attempt on third down'''
    q.game(season_year=2012, season_type='Regular')
    q.play(third_down_att=1)
    plays = q.as_plays()

    aggregated = nfldb.aggregate(
        plays)  # returns a list of PlayPlayer objects.
    aggregated = sorted(aggregated, key=lambda p: p.passing_yds, reverse=True)
    for pp in aggregated[0:10]:
        #print pp.player, pp.passing_yds, pp.passing_att
        name = pp.player
        statement = 'threw for %s passing yds on 3rd down' % pp.passing_yds
        attempts = 'on %s att' % pp.passing_att
        average = '@ %.2f yds/att' % (float(pp.passing_yds) /
                                      float(pp.passing_att))
        comp_rate = '.Comp rate: %.2f' % (
            100 * (float(pp.passing_cmp) / float(pp.passing_att))) + '%'
        print name, statement, attempts, average, comp_rate
Example #13
0
import nfldb
from scoring import Scoring

scorer = Scoring()
db = nfldb.connect()
q = nfldb.Query(db).game(season_year=2013, season_type='Regular')
# get game stats
for game in q.as_games():
    print game
    print game.week, game.home_team, game.home_score
    print game.week, game.away_team, game.away_score
    performances = nfldb.aggregate(game.play_players)
    for pp in performances:
        print pp.player.full_name, pp.player.position, scorer.get_score(pp)
    print