diff --git a/average.py b/average.py index 67d1eea..c9b33d4 100644 --- a/average.py +++ b/average.py @@ -3,14 +3,16 @@ import json import ray @ray.remote -class step(algorithm): +class average(algorithm): def __init__(self): self.config_dict_ = None self.config_ = None self.average_number_ = 10 self.present_number_ = 0 self.window_1_ = [] - self.window_2_ = [] + self.sum = 0 + self.average = 0 + def set_config(self, config): self.config_ = config @@ -24,7 +26,12 @@ class step(algorithm): self.present_number_ = len(self.window_1_) if self.present_number_ < self.average_number_: self.window_1_.append(value) - self.window_2_.append(value) return else: - return value * self.amplitude_base_ + self.sum = 0 + for i in self.window_1_: + self.sum = self.sum + i + self.average = self.sum / len(self.window_1_) + del self.window_1_[0] + self.window_1_.append(value) + return self.average diff --git a/average_test_csv.py b/average_test_csv.py new file mode 100644 index 0000000..c922074 --- /dev/null +++ b/average_test_csv.py @@ -0,0 +1,29 @@ +import pandas as pd +from average import average +import ray + +ray.init() +filepath = "D:/python_project_data/1.csv" +origin_data = pd.read_csv(filepath) +row_len = origin_data.shape[0] +cow_len = origin_data.shape[1] +average_data = origin_data +algorithm_average = average.remote() + +cow_name = "G1.TTXD1_3" +contrast_data = pd.DataFrame() +contrast_data[cow_name+'_origin'] = origin_data[cow_name] +algorithm_average.set_config.remote('{"AVERAGE_NUMBER": 5 }') +# algorithm_step.set_config('{"CYCLE_TIME_BASE": 5 }') +for i in range(0,row_len): + futures=algorithm_average.eval.remote(origin_data.loc[i,cow_name]) + average_data.loc[i,cow_name]=ray.get(futures) + +print(average_data.loc[:,cow_name]) +contrast_data[cow_name+'_average'] = average_data[cow_name] +# average_data.to_csv("D:/python_project_data/1_disturb.csv", index=False) +contrast_data.to_csv("D:/python_project_data/average_data.csv", index=False) + + +# 以下均为测试性能用 +# print(algorithm_step.config_) \ No newline at end of file