Esempio n. 1
0
    def test_dask_max(self):
        from_axis = DailyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                         n_interval=14).build()

        to_axis = WeeklyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                        n_interval=3).build()

        tc = AxisRemapper(from_axis=from_axis,
                          to_axis=to_axis,
                          assure_no_bound_mismatch=False)
        from_data = da.arange(14, dtype='float64')
        to_data = tc.max(from_data).compute()
        np.testing.assert_almost_equal(
            to_data,
            np.array([6.0, 13.0, np.nan]).reshape(3, 1))
Esempio n. 2
0
    def test_max_01(self):
        from_axis = DailyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                         n_interval=14).build()

        to_axis = WeeklyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                        n_interval=2).build()

        tc = AxisRemapper(from_axis=from_axis, to_axis=to_axis)

        from_data = list(range(1, 15))

        to_data = tc.max(from_data)

        self.assertAlmostEqual(7.0, to_data[0, 0], 0)
        self.assertAlmostEqual(14.0, to_data[1, 0], 0)
Esempio n. 3
0
    def test_max_05(self):
        from_axis = DailyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                         n_interval=14).build()

        to_axis = WeeklyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                        n_interval=3).build()

        tc = AxisRemapper(from_axis=from_axis,
                          to_axis=to_axis,
                          assure_no_bound_mismatch=False)

        from_data = list(range(1, 15))

        to_data = tc.max(from_data)

        self.assertAlmostEqual(7.0, to_data[0, 0], 0)
        self.assertAlmostEqual(14.0, to_data[1, 0], 0)
        self.assertTrue(np.isnan(to_data[2, 0]))
Esempio n. 4
0
    def test_max_04(self):
        from_axis = DailyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                         n_interval=14).build()

        to_axis = RollingWindowTimeAxisBuilder(start_date=date(2019, 1, 1),
                                               end_date=date(2019, 1, 15),
                                               window_size=7).build()

        tc = AxisRemapper(from_axis=from_axis, to_axis=to_axis)

        from_data = np.moveaxis(
            np.asarray(list(range(1, 15)) * 12).reshape((3, 4, 14)), 2,
            1).tolist()

        to_data = tc.max(from_data, dimension=1)

        for i in range(tc.to_nelem):
            self.assertTrue(
                np.all(
                    np.ones((3, 4), dtype="int") * (7 + i) -
                    to_data[:, i, :].round() == 0.0))
Esempio n. 5
0
    def test_max_02(self):
        from_axis = DailyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                         n_interval=14).build()

        to_axis = WeeklyTimeAxisBuilder(start_date=date(2019, 1, 1),
                                        n_interval=2).build()

        tc = AxisRemapper(from_axis=from_axis, to_axis=to_axis)

        from_data = np.moveaxis(
            np.asarray(list(range(1, 15)) * 12).reshape((3, 4, 14)), 2,
            0).tolist()

        to_data = tc.max(from_data)

        self.assertTrue(
            np.all(
                np.ones((3, 4), dtype="int") * 7 - to_data[0].round() == 0.0))
        self.assertTrue(
            np.all(
                np.ones((3, 4), dtype="int") * 14 - to_data[1].round() == 0.0))