from .analyst import Analyst import os import pandas as pd import numpy as np from utils.directoryUtil import DirectoryUtil as dir from algorithmContract.confBusiness import * class AnalystExcludeRatedPower(Analyst): def filterCommon(self,dataFrame:pd.DataFrame, confData:ConfBusiness): dataFrame=super().filterCommon(dataFrame,confData) if not self.common.isNone(confData.field_power) and self.node_active_power_max in confData.filter and not self.common.isNone(confData.filter[self.node_active_power_max]) \ and not self.common.isNone(confData.field_pitch_angle1) and self.node_angle_pitch_min in confData.filter and not self.common.isNone(confData.filter[self.node_angle_pitch_min]): activePowerMax = float(confData.filter[self.node_active_power_max]) anglePitchMin = float(confData.filter[self.node_angle_pitch_min]) dataFrame = dataFrame[~((dataFrame[confData.field_power] >= activePowerMax*0.9) & ( dataFrame[confData.field_power] <= activePowerMax*1.2))] return dataFrame