From 13937e537e372cf1722dbd46fe16ab79db0c48c0 Mon Sep 17 00:00:00 2001 From: Evgeny Smyshlyaev Date: Fri, 8 Feb 2019 18:31:41 +0300 Subject: [PATCH] Fix wait for full bucket (#402) Fix wait for full bucket for pattern detector (#402) --- analytics/analytics/detectors/pattern_detector.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/analytics/analytics/detectors/pattern_detector.py b/analytics/analytics/detectors/pattern_detector.py index 844cb0a..547690e 100644 --- a/analytics/analytics/detectors/pattern_detector.py +++ b/analytics/analytics/detectors/pattern_detector.py @@ -65,14 +65,21 @@ class PatternDetector(Detector): } def recieve_data(self, data: pd.DataFrame, cache: Optional[ModelCache]) -> Optional[dict]: - self.bucket.receive_data(data.dropna()) + data_without_nan = data.dropna() + + if len(data_without_nan) == 0: + return None + + self.bucket.receive_data(data_without_nan) if cache and self.window_size == 0: self.window_size = cache['WINDOW_SIZE'] + res = self.detect(self.bucket.data, cache) if len(self.bucket.data) >= self.window_size and cache != None: - res = self.detect(self.bucket.data, cache) excess_data = len(self.bucket.data) - self.max_window_size self.bucket.drop_data(excess_data) - return res - return None + if res: + return res + else: + return None