Ejemplo n.º 1
0
 def test_2015_playoffs_query(self):
     queried_df = utils.get_nfldb_play_data(season_years=[2015],
                                            season_types=["Postseason"])
     expected_df = pd.DataFrame({
         'gsis_id': [
             '2016010900', '2016010900', '2016010900', '2016010900',
             '2016010900'
         ],
         'drive_id': [1, 1, 2, 2, 2],
         'play_id': [36, 54, 70, 88, 109],
         'seconds_elapsed': [0., 11., 11., 11., 45.],
         'offense_team': ['HOU', 'KC', 'KC', 'HOU', 'HOU'],
         'yardline': [-15., 35, -15, -30, -26],
         'down': [0, 0, 0, 1, 2],
         'yards_to_go': [0, 0, 0, 10, 6],
         'home_team': ['HOU', 'HOU', 'HOU', 'HOU', 'HOU'],
         'away_team': ['KC', 'KC', 'KC', 'KC', 'KC'],
         'offense_won': [False, True, True, False, False],
         'quarter': ['Q1', 'Q1', 'Q1', 'Q1', 'Q1'],
         'curr_home_score': [0, 0, 0, 0, 0],
         'curr_away_score': [0, 6, 7, 7, 7]
     })
     expected_df['down'] = expected_df['down'].astype(np.int8)
     pd.util.testing.assert_frame_equal(queried_df[:5].sort_index(axis=1),
                                        expected_df.sort_index(axis=1),
                                        check_column_type=False)
Ejemplo n.º 2
0
 def test_2009_regular_season_query(self):
     queried_df = utils.get_nfldb_play_data(season_years=[2009],
                                            season_types=["Regular"])
     expected_df = pd.DataFrame({
         'gsis_id': [
             '2009091000', '2009091000', '2009091000', '2009091000',
             '2009091000'
         ],
         'drive_id': [1, 1, 1, 1, 1],
         'play_id': [46, 68, 92, 113, 139],
         'seconds_elapsed': [0., 7, 44, 85, 93],
         'offense_team': ['TEN', 'PIT', 'PIT', 'PIT', 'PIT'],
         'yardline': [-20., -8, -3, -6, -6],
         'down': [0, 1, 2, 3, 4],
         'yards_to_go': [0, 10, 5, 8, 8],
         'home_team': ['PIT', 'PIT', 'PIT', 'PIT', 'PIT'],
         'away_team': ['TEN', 'TEN', 'TEN', 'TEN', 'TEN'],
         'offense_won': [False, True, True, True, True],
         'quarter': ['Q1', 'Q1', 'Q1', 'Q1', 'Q1'],
         'curr_home_score': [0, 0, 0, 0, 0],
         'curr_away_score': [0, 0, 0, 0, 0]
     })
     expected_df['down'] = expected_df['down'].astype(np.int8)
     pd.util.testing.assert_frame_equal(queried_df[:5].sort_index(axis=1),
                                        expected_df.sort_index(axis=1),
                                        check_column_type=False)
Ejemplo n.º 3
0
    def test_standard_play_mock(self, monkeypatch):
        def mockreturn_engine():
            return True

        def mockreturn_query_string(season_years, season_types):
            return True

        def mockreturn_read_sql(sql_string, engine):
            return self.test_df

        monkeypatch.setattr(utils, 'connect_nfldb', mockreturn_engine)
        monkeypatch.setattr(utils, '_make_nfldb_query_string',
                            mockreturn_query_string)
        monkeypatch.setattr(pd, 'read_sql', mockreturn_read_sql)

        expected_df = pd.DataFrame({
            'gsis_id': [0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
            'drive_id': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            'play_id': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
            'seconds_elapsed':
            [0.0, 152.0, 354.0, 354.0, 0.0, 840.0, 840.0, 875.0, 900.0, 900.0],
            'offense_team': [
                "HOU", "KC", "KC", "HOU", "HOU", "UNK", "DEN", "DEN", "CAR",
                "UNK"
            ],
            'yardline': [-15, 35, -15, -30, -26, np.nan, 48, -15, -18, np.nan],
            'down': [0, 0, 0, 1, 2, 0, 1, 0, 1, 0],
            'yards_to_go': [0, 0, 0, 10, 6, 0, 2, 0, 10, 0],
            'home_team': [
                "HOU", "HOU", "HOU", "HOU", "HOU", "DEN", "DEN", "DEN", "DEN",
                "DEN"
            ],
            'away_team':
            ["KC", "KC", "KC", "KC", "KC", "CAR", "CAR", "CAR", "CAR", "CAR"],
            'offense_won':
            [False, False, False, False, False, True, True, True, True, True],
            'quarter':
            ["Q1", "Q1", "Q1", "Q1", "Q2", "OT", "OT", "OT2", "OT3", "OT"],
            'curr_home_score': [0, 0, 0, 0, 0, 0, 0, 7, 7, 7],
            'curr_away_score': [0, 6, 7, 7, 7, 0, 0, 0, 0, 0]
        })
        expected_df['down'] = expected_df['down'].astype(np.int8)

        pd.util.testing.assert_frame_equal(
            utils.get_nfldb_play_data().sort_index(axis=1),
            expected_df.sort_index(axis=1))
Ejemplo n.º 4
0
import pandas as pd
from nflwin import utilities

data = utilities.get_nfldb_play_data(
    season_years=[2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017],
    season_types=["Regular"])
a = pd.DataFrame(a)
a.to_csv("nfl_wp_data.csv")
from nflwin.model import WPModel

standard_model = WPModel.load_model()
wp = standard_model.predict_wp(data)
b = pd.DataFrame(wp)
b.to_csv("nfl_wp.csv")