Skip to content
Snippets Groups Projects
Commit a3f714b7 authored by lukas leufen's avatar lukas leufen
Browse files

Merge branch 'felix_issue087_BUG-multiply_extreme_None_check' into 'develop'

Felix issue087 bug multiply extreme none check

See merge request toar/machinelearningtools!82
parents 69fb310c cd405015
No related branches found
No related tags found
3 merge requests!90WIP: new release update,!89Resolve "release branch / CI on gpu",!82Felix issue087 bug multiply extreme none check
Pipeline #32757 passed
...@@ -447,6 +447,12 @@ class DataPrep(object): ...@@ -447,6 +447,12 @@ class DataPrep(object):
if True only extract values larger than extreme_values if True only extract values larger than extreme_values
:param timedelta: used as arguments for np.timedelta in order to mark extreme values on datetime :param timedelta: used as arguments for np.timedelta in order to mark extreme values on datetime
""" """
# check if labels or history is None
if (self.label is None) or (self.history is None):
logging.debug(f"{self.station} has `None' labels, skip multiply extremes")
return
# check type if inputs # check type if inputs
extreme_values = helpers.to_list(extreme_values) extreme_values = helpers.to_list(extreme_values)
for i in extreme_values: for i in extreme_values:
......
...@@ -427,6 +427,9 @@ class TestDataPrep: ...@@ -427,6 +427,9 @@ class TestDataPrep:
assert f(upsampled, lt, -1) == sum([f(orig, lt, -1), f(orig, lt, -1.5), f(orig, lt, -2) * 2, f(orig, lt, -3) * 4]) assert f(upsampled, lt, -1) == sum([f(orig, lt, -1), f(orig, lt, -1.5), f(orig, lt, -2) * 2, f(orig, lt, -3) * 4])
def test_multiply_extremes_wrong_extremes(self, data): def test_multiply_extremes_wrong_extremes(self, data):
data.transform("datetime")
data.make_history_window("variables", 3, "datetime")
data.make_labels("variables", "o3", "datetime", 2)
with pytest.raises(TypeError) as e: with pytest.raises(TypeError) as e:
data.multiply_extremes([1, "1.5", 2]) data.multiply_extremes([1, "1.5", 2])
assert "Elements of list extreme_values have to be (<class 'float'>, <class 'int'>), but at least element 1.5" \ assert "Elements of list extreme_values have to be (<class 'float'>, <class 'int'>), but at least element 1.5" \
...@@ -445,6 +448,23 @@ class TestDataPrep: ...@@ -445,6 +448,23 @@ class TestDataPrep:
assert upsampled.shape[2] == sum([f(orig, gt, 1), f(orig, gt, 2)]) assert upsampled.shape[2] == sum([f(orig, gt, 1), f(orig, gt, 2)])
assert f(upsampled, lt, -1) == 0 assert f(upsampled, lt, -1) == 0
def test_multiply_extremes_none_label(self, data):
data.transform("datetime")
data.make_history_window("variables", 3, "datetime")
data.label = None
assert data.multiply_extremes([1], extremes_on_right_tail_only=False) is None
def test_multiply_extremes_none_history(self,data ):
data.transform("datetime")
data.history = None
data.make_labels("variables", "o3", "datetime", 2)
assert data.multiply_extremes([1], extremes_on_right_tail_only=False) is None
def test_multiply_extremes_none_label_history(self,data ):
data.history = None
data.label = None
assert data.multiply_extremes([1], extremes_on_right_tail_only=False) is None
def test_get_extremes_history(self, data): def test_get_extremes_history(self, data):
data.transform("datetime") data.transform("datetime")
data.make_history_window("variables", 3, "datetime") data.make_history_window("variables", 3, "datetime")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment