analystExcludeRatedPower.py 1.1 KB

123456789101112131415161718192021
  1. from .analyst import Analyst
  2. import os
  3. import pandas as pd
  4. import numpy as np
  5. from utils.directoryUtil import DirectoryUtil as dir
  6. from algorithmContract.confBusiness import *
  7. class AnalystExcludeRatedPower(Analyst):
  8. def filterCommon(self,dataFrame:pd.DataFrame, confData:ConfBusiness):
  9. dataFrame=super().filterCommon(dataFrame,confData)
  10. 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]) \
  11. 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]):
  12. activePowerMax = float(confData.filter[self.node_active_power_max])
  13. anglePitchMin = float(confData.filter[self.node_angle_pitch_min])
  14. dataFrame = dataFrame[~((dataFrame[confData.field_power] >= activePowerMax*0.9) & (
  15. dataFrame[confData.field_power] <= activePowerMax*1.2))]
  16. return dataFrame