import pandas as pd from data_initialize_standard.constant import * class IntervalOnOffAHU(object): def __init__(self, data_temp_humi, dict_code): self.data_terminal = data_temp_humi self.dict_code = dict_code def exclude_ahu_short_time(self): self.data_terminal['ahuStartTime'] = pd.to_datetime(self.data_terminal['ahuStartTime']) self.dict_code['triggerTime'] = pd.to_datetime(self.dict_code['triggerTime']) self.data_terminal['middle_value_time'] = self.dict_code['triggerTime'] - self.data_terminal['ahuStartTime'] self.data_terminal['ahuStartTimeDiff'] = self.data_terminal.apply(lambda x: x['middle_value_time'].total_seconds(), axis=1) """ # 当末端未超标时,即使末端开启时间未满足设定值,水温仍调控;当末端超标时,则需要严格依据末端开启时间设定值来调控水温 # 若冷机开机时间满足设定值才调控,则对于末端未超标且频繁开关的工况会导致冷机水温不调控;末端未超标且无频繁开关的工况仍需长时间等待才调控 # 备注:无论制冷还是制热,self.data_terminal['deltaTemp'] > 0均表明末端未超标 """ self.data_terminal = self.data_terminal[(self.data_terminal['tempReal'] > TerminalTempRange['lowerLimit']) & (self.data_terminal['tempReal'] < TerminalTempRange['upperLimit'])] self.data_terminal = self.data_terminal[(self.data_terminal['deltaTemp'] > 0) | ((self.data_terminal['ahuStartTimeDiff']) > 3600)] self.data_terminal = self.data_terminal.reset_index(drop=True) return self.data_terminal