Example #1
0
 def test_month(self, recipe_config, columns):
     params = get_extrema_extraction_params(recipe_config)
     extrema_extractor = ExtremaExtractor(params)
     df = get_df_DST("M", columns)
     output_df = extrema_extractor.compute(df, columns.date, columns.data)
     assert output_df.shape == (1, 5)
     assert output_df.loc[0, columns.date] == pd.Timestamp(
         "2019-06-30 01:59:00+02:00")
Example #2
0
 def test_minutes(self, recipe_config, columns):
     recipe_config["window_unit"] = "minutes"
     params = get_extrema_extraction_params(recipe_config)
     extrema_extractor = ExtremaExtractor(params)
     df = get_df_DST("T", columns)
     output_df = extrema_extractor.compute(df, columns.date, columns.data)
     assert output_df.shape == (1, 5)
     assert output_df.loc[0, columns.date] == pd.Timestamp(
         "2019-01-31 02:04:00+0100")
Example #3
0
 def test_year(self, recipe_config, columns):
     recipe_config["window_unit"] = "years"
     params = get_extrema_extraction_params(recipe_config)
     extrema_extractor = ExtremaExtractor(params)
     df = get_df_DST("Y", columns)
     output_df = extrema_extractor.compute(df, columns.date, columns.data)
     assert output_df.shape == (1, 5)
     assert output_df.loc[0, columns.date] == pd.Timestamp(
         "2024-12-31 01:59:00+01:00")
Example #4
0
 def test_nanoseconds(self, recipe_config, columns):
     recipe_config["window_unit"] = "nanoseconds"
     params = get_extrema_extraction_params(recipe_config)
     extrema_extractor = ExtremaExtractor(params)
     df = get_df_DST("N", columns)
     output_df = extrema_extractor.compute(df, columns.date, columns.data)
     assert output_df.shape == (1, 5)
     assert output_df.loc[0, columns.date] == pd.Timestamp(
         "2019-01-31 01:59:00.000000005+01:00")
logger = logging.getLogger(__name__)
logging.basicConfig(
    level=logging.INFO,
    format='timeseries-preparation plugin %(levelname)s - %(message)s')

check_python_version()

# --- Setup
(input_dataset, output_dataset) = get_input_output()
recipe_config = get_recipe_config()
input_dataset_columns = [
    column["name"] for column in input_dataset.read_schema()
]
check_time_column_parameter(recipe_config, input_dataset_columns)
datetime_column = recipe_config.get('datetime_column')
extrema_column = recipe_config.get('extrema_column')
groupby_columns = check_and_get_groupby_columns(recipe_config,
                                                input_dataset_columns)
params = get_extrema_extraction_params(recipe_config)

# --- Run
df = input_dataset.get_dataframe()
extrema_etractor = ExtremaExtractor(params)
output_df = extrema_etractor.compute(df,
                                     datetime_column,
                                     extrema_column,
                                     groupby_columns=groupby_columns)

# --- Write output
output_dataset.write_with_schema(output_df)
Example #6
0
def params(recipe_config):
    return get_extrema_extraction_params(recipe_config)