Exemplo n.º 1
0
    def test_aggregation_call(self):
        data = np.random.random((10, 4))
        data[:, 0] = np.arange(0, 10)
        data[:, 1] = np.arange(10, 20)
        data.flags.writeable = False

        expected_param = np.zeros((2, 9, 2))
        expected_param[0, :, 0] = np.arange(0, 9)
        expected_param[0, :, 1] = np.arange(10, 19)
        expected_param[1, :, 0] = np.arange(1, 10)
        expected_param[1, :, 1] = np.arange(11, 20)

        expected_data = np.full((10, 4 + 2), fill_value=np.nan)
        expected_data[:, :4] = data
        expected_data[-2:, 4:] = 9

        agg = DummyAggreagor(sequence=9,
                             generate=[
                                 InputOutputField(inputField='abc',
                                                  outputField='hello'),
                                 InputOutputField(inputField='xyz',
                                                  outputField='world'),
                             ])

        input_format = StandardDataFormat(
            timestamps=helper_data.generate_timestamps(10,
                                                       samples=data.shape[0]),
            labels=['abc', 'xyz', 'aaa', 'bbb'],
            data=data)
        result = agg.process(input_format)

        assert_array_equal(agg.grouped_data, expected_param)
        self.assertEqual(result.labels,
                         ['abc', 'xyz', 'aaa', 'bbb', 'hello', 'world'])
        assert_array_equal(result.data, expected_data)
Exemplo n.º 2
0
    def test_no_outliers(self):
        data = np.array([[10, 30], [12, 25]], dtype="float64")
        data.flags.writeable = False

        input_data = StandardDataFormat(
            labels=['a', 'b'],
            data=data,
            timestamps=helper_data.generate_timestamps(2, 2))
        # noinspection PyArgumentList
        configs: List[InputOutputLimits] = [InputOutputLimits(inputField="a")]
        result = OutlierRemover(generate=configs)._process2d(input_data)
        assert_array_equal(data, result.data)
Exemplo n.º 3
0
    def test_min_outlier(self):
        data = np.array([[10, 30], [12, 25]], dtype="float64")
        data.flags.writeable = False

        input_data = StandardDataFormat(
            labels=['a', 'b'],
            data=data,
            timestamps=helper_data.generate_timestamps(2, 2))
        limits = [{'inputField': 'b', 'min': 28}]

        result_expected = data.copy()
        result_expected[1, 1] = np.nan

        result = OutlierRemover(generate=limits)._process2d(input_data)
        assert_array_equal(result_expected, result.data)
Exemplo n.º 4
0
    def test_standard_case(self):
        data = np.array([
            [23, 55],
            [21, 52],
            [np.nan, 52],
            [23, np.nan],
        ])
        data.flags.writeable = False

        result_excepted = data[:2]
        process_data = StandardDataFormat(
            data=data,
            labels=['a', 'b'],
            timestamps=helper_data.generate_timestamps(2, samples=4))
        result = NanRemover()._process2d(process_data)
        assert_array_equal(result_excepted, result.data)
    def test_standard_case(self):
        data = np.array([[11, 20], [12, 21], [13, 22], [14, 20], [15, 20],
                         [16, 20], [17, 20], [18, 20]],
                        dtype='float')

        result_expected = np.array(
            [[11, 20], [12, 21], [13, 22], [14, 20], [15, 20], [16, 20],
             [17, np.nan], [18, np.nan]],
            dtype='float')
        processor_data = StandardDataFormat(
            timestamps=helper_data.generate_timestamps(samples=data.shape[0]),
            labels=helper_data.get_labels(2),
            data=data)

        processor_data_result = FreezedValueRemover(
            max_freezed_values=3)._process2d(processor_data)
        assert_array_equal(result_expected, processor_data_result.data)