From b1428c735fca1b36043d142626784f11b200445b Mon Sep 17 00:00:00 2001 From: Alexandr Velikiy <39257464+VargBurz@users.noreply.github.com> Date: Thu, 10 Jan 2019 14:14:42 +0300 Subject: [PATCH] Error: '<' not supported between instances of 'NoneType' and 'NoneType' #323 (#332) --- analytics/analytics/analytic_unit_manager.py | 3 +-- analytics/tests/test_dataset.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/analytics/analytics/analytic_unit_manager.py b/analytics/analytics/analytic_unit_manager.py index 46d8494..89d6c7c 100644 --- a/analytics/analytics/analytic_unit_manager.py +++ b/analytics/analytics/analytic_unit_manager.py @@ -31,9 +31,8 @@ def prepare_data(data: list): - subtracts min value from dataset """ data = pd.DataFrame(data, columns=['timestamp', 'value']) - data['timestamp'] = pd.to_datetime(data['timestamp'], unit='ms') - if not np.isnan(min(data['value'])): + if not np.isnan(data['value'].min()): data['value'] = data['value'] - min(data['value']) return data diff --git a/analytics/tests/test_dataset.py b/analytics/tests/test_dataset.py index 0e2ed4f..99eb3b4 100644 --- a/analytics/tests/test_dataset.py +++ b/analytics/tests/test_dataset.py @@ -1,5 +1,6 @@ import unittest import pandas as pd +import numpy as np from analytic_unit_manager import prepare_data import models @@ -100,6 +101,20 @@ class TestDataset(unittest.TestCase): model.fit(dataframe, segments, dict()) except ValueError: self.fail('Model {} raised unexpectedly'.format(model_name)) + + def test_prepare_data_for_nonetype(self): + data = [[1523889000000, None], [1523889000001, None], [1523889000002, None]] + try: + data = prepare_data(data) + except ValueError: + self.fail('Model {} raised unexpectedly'.format(model_name)) + + def test_prepare_data_for_nan(self): + data = [[1523889000000, np.NaN], [1523889000001, np.NaN], [1523889000002, np.NaN]] + try: + data = prepare_data(data) + except ValueError: + self.fail('Model {} raised unexpectedly'.format(model_name)) if __name__ == '__main__': unittest.main()