Esempio n. 1
0
 def test_bad_home_score_colname(self):
     csd = preprocessing.CreateScoreDifferential("badcol", "away_score", "offense_home")
     data = pd.DataFrame({"home_score": [1, 2, 3, 4],
                          "away_score": [10, 0, 5, 15],
                          "offense_home": [True, True, True, True]})
     with pytest.raises(KeyError):
         csd.transform(data)
Esempio n. 2
0
    def test_differential_with_copied_data(self):
        csd = preprocessing.CreateScoreDifferential(
            "home_score",
            "away_score",
            "offense_home",
            score_differential_colname="score_diff",
            copy=True)
        input_data = pd.DataFrame({
            "home_score": [1, 2, 3, 4],
            "away_score": [10, 0, 5, 15],
            "offense_home": [True, True, True, True]
        })
        expected_input_data = pd.DataFrame({
            "home_score": [1, 2, 3, 4],
            "away_score": [10, 0, 5, 15],
            "offense_home": [True, True, True, True]
        })
        expected_transformed_data = pd.DataFrame({
            "home_score": [1, 2, 3, 4],
            "away_score": [10, 0, 5, 15],
            "offense_home": [True, True, True, True],
            "score_diff": [-9, 2, -2, -11]
        })

        csd.fit(input_data)
        transformed_data = csd.transform(input_data)
        pd.util.testing.assert_frame_equal(
            expected_input_data.sort_index(axis=1),
            input_data.sort_index(axis=1))
        pd.util.testing.assert_frame_equal(
            expected_transformed_data.sort_index(axis=1),
            transformed_data.sort_index(axis=1))
Esempio n. 3
0
 def test_differential_column_already_exists(self):
     csd = preprocessing.CreateScoreDifferential("home_score",
                                                 "away_score",
                                                 "offense_home",
                                                 score_differential_colname="used_col")
     data = pd.DataFrame({"home_score": [1, 2, 3, 4],
                          "away_score": [10, 0, 5, 15],
                          "offense_home": [True, True, True, True],
                          "used_col": [0, 0, 0, 0]})
     with pytest.raises(KeyError):
         csd.fit(data)
         csd.transform(data)
Esempio n. 4
0
 def test_differential_works_offense_is_away(self):
     csd = preprocessing.CreateScoreDifferential("home_score",
                                                 "away_score",
                                                 "offense_home",
                                                 score_differential_colname="score_diff")
     input_data = pd.DataFrame({"home_score": [1, 2, 3, 4],
                                "away_score": [10, 0, 5, 15],
                                "offense_home": [False, False, False, False]})
     expected_data = pd.DataFrame({"home_score": [1, 2, 3, 4],
                                   "away_score": [10, 0, 5, 15],
                                   "offense_home": [False, False, False, False],
                                   "score_diff": [9, -2, 2, 11]})
     
     csd.fit(input_data)
     transformed_data = csd.transform(input_data)
     pd.util.testing.assert_frame_equal(expected_data.sort_index(axis=1),
                                        transformed_data.sort_index(axis=1))