baseAnalyst.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from abc import ABC, abstractmethod
  2. import pandas as pd
  3. from .utils.directoryUtil import DirectoryUtil as dir
  4. from confBusiness import ConfBusiness
  5. from .commonBusiness import CommonBusiness
  6. class BaseAnalyst(ABC):
  7. def __init__(self, confData: ConfBusiness):
  8. self.common=CommonBusiness()
  9. self.confData = confData
  10. @abstractmethod
  11. def typeAnalyst(self):
  12. pass
  13. def getOutputAnalysisDir(self):
  14. """
  15. 获取当前分析的输出目录
  16. """
  17. outputAnalysisDir = r"{}/{}".format(
  18. self.confData.output_path, self.typeAnalyst())
  19. dir.create_directory(outputAnalysisDir)
  20. return outputAnalysisDir
  21. def analysisOfTurbine(self,
  22. dataFrame: pd.DataFrame,
  23. outputAnalysisDir,
  24. outputFilePath,
  25. confData: ConfBusiness,
  26. turbineName):
  27. # dataFrame = self.filterCustom(dataFrame, confData)
  28. self.turbineAnalysis(dataFrame, outputAnalysisDir,
  29. outputFilePath, confData, turbineName)
  30. def turbineAnalysis(self,
  31. dataFrame: pd.DataFrame,
  32. outputAnalysisDir,
  33. outputFilePath,
  34. confData: ConfBusiness,
  35. turbineName):
  36. pass
  37. def analysisOfTurbines(self, dataFrameMerge:pd.DataFrame, outputAnalysisDir, confData: ConfBusiness):
  38. self.turbinesAnalysis(dataFrameMerge ,outputAnalysisDir,confData)
  39. def turbinesAnalysis(self, dataFrameMerge: pd.DataFrame, outputAnalysisDir, confData: ConfBusiness):
  40. pass