Esempio n. 1
0
 def test__init__with_DataFrame_input_many_columns__with_values(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     df = DataFrame({TIME_SERIES_VALUES: my_series, "two": my_series})
     ts = TimeSeries(df)
     self.assertIsInstance(ts, TimeSeries)
Esempio n. 2
0
 def test__init__with_DataFrame_input_many_columns__without_values(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     df = DataFrame({"one": my_series, "two": my_series})
     with self.assertRaises(AssertionError):
         ts = TimeSeries(df)
Esempio n. 3
0
 def test__init__with_Series_input(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     ts = TimeSeries(my_series)
     self.assertTrue(TIME_SERIES_VALUES in ts.series.columns)
     self.assertIsInstance(ts, TimeSeries)
Esempio n. 4
0
 def test__init__with_DataFrame_input_single_column(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     df = DataFrame(data=my_series)
     ts = TimeSeries(df)
     self.assertTrue(TIME_SERIES_VALUES in ts.series.columns)
     self.assertIsInstance(ts, TimeSeries)
Esempio n. 5
0
 def test__init__contains_metadata(self):
     # Add some data
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = DataFrame([0.4, 1.0, 0.7, 0.6], index=index)
     my_metadata = Metadata()
     my_ts = TimeSeries(my_series, my_metadata)
     # Check types
     self.assertNotEqual(my_ts.metadata, None,
                         "The TimeSeries Metadata is probably None")
Esempio n. 6
0
 def test__init__has_right_types(self):
     # Add some data
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = DataFrame([0.4, 1.0, 0.7, 0.6], index=index)
     my_metadata = Metadata()
     my_ts = TimeSeries(my_series, my_metadata)
     # Check types
     self.assertIsInstance(
         my_ts.series, DataFrame,
         "The TimeSeries series is not a Pandas DataFrame")
     self.assertIsInstance(
         my_ts.metadata, Metadata,
         "The TimeSeries Metadata hasn't got the right type")
Esempio n. 7
0
    def test__to_text__without_metadata(self):
        path = self.target_dir + "/to_text_without_metadata"
        my_time_series = TimeSeries(self.my_series)
        my_time_series.to_text(path)

        data_csv_path = "{}/{}.{}".format(path, TIME_SERIES_FILENAME,
                                          TIME_SERIES_EXT)
        does_data_csv_exist = os_path.exists(data_csv_path)
        self.assertTrue(does_data_csv_exist)

        meta_json_path = "{}/{}.{}".format(path, METADATA_FILENAME,
                                           METADATA_EXT)
        does_meta_json_exist = os_path.exists(meta_json_path)
        self.assertFalse(does_meta_json_exist)
Esempio n. 8
0
    def setUp(self) -> None:

        # Create a time indexed series
        index = DatetimeIndex(
            ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
        self.my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)

        # Create metadata
        my_unit = {"name": "power", "symbol": "W", "data_type": "float"}
        my_coordinates = {"lat": 46.796611, "lon": 7.147563}
        my_dict = {"unit": my_unit, "coordinates": my_coordinates}
        self.my_metadata = Metadata(my_dict)

        self.my_time_series = TimeSeries(self.my_series, self.my_metadata)

        # Define a target directory
        self.target_dir = "data/test-export"
def test_anomaly_generator():
    from datetime import datetime

    start_time = time.time()
    print("---START DATASET CREATION---")
    # data_reader = Reader('../../data/clean/ACS-F2/Dataset/*/*.xml')
    data = pd.read_csv('./anomaly_generator_test_data.csv', index_col=0).T
    data.drop('label', inplace=True)
    tss = [datetime.fromtimestamp(int(x)) for x in data.index]
    result = []

    for i, v in data.iteritems():
        v.index = tss[:len(v)]
        result.append(TimeSeries(v))

    tsd = TimeSeriesDataset(result)

    anomaly_set = AnomalyGenerator(data=tsd, conf_file='test_config.ini')
    anomaly_set.generate()
    end_time = time.time()
    print("Creation time of the dataset: {0:.3f} seconds.".format(end_time -
                                                                  start_time))
Esempio n. 10
0
 def test__init__wrong_index_type(self):
     values = Series([0.4, 1.0, 0.7, 0.6])
     with self.assertRaises(AssertionError):
         TimeSeries(values)
Esempio n. 11
0
 def test__init__has_values_as_column_name(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     ts = TimeSeries(my_series)
     self.assertTrue(TIME_SERIES_VALUES in ts.series.columns)
Esempio n. 12
0
 def test__init__is_instance(self):
     self.my_time_series = TimeSeries()
     self.assertIsInstance(self.my_time_series, TimeSeries,
                           "The TimeSeries hasn't the right type")
Esempio n. 13
0
 def test__init__freq_is_infered(self):
     index = DatetimeIndex(
         ['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'])
     my_series = Series([0.4, 1.0, 0.7, 0.6], index=index)
     ts = TimeSeries(my_series)
     self.assertEqual(infer_freq(index), ts.series.index.freq)