from abc import ABC, abstractmethod import pandas as pd from .utils.directoryUtil import DirectoryUtil as dir from confBusiness import ConfBusiness from .commonBusiness import CommonBusiness class BaseAnalyst(ABC): def __init__(self, confData: ConfBusiness): self.common=CommonBusiness() self.confData = confData @abstractmethod def typeAnalyst(self): pass def getOutputAnalysisDir(self): """ 获取当前分析的输出目录 """ outputAnalysisDir = r"{}/{}".format( self.confData.output_path, self.typeAnalyst()) dir.create_directory(outputAnalysisDir) return outputAnalysisDir def analysisOfTurbine(self, dataFrame: pd.DataFrame, outputAnalysisDir, outputFilePath, confData: ConfBusiness, turbineName): # dataFrame = self.filterCustom(dataFrame, confData) self.turbineAnalysis(dataFrame, outputAnalysisDir, outputFilePath, confData, turbineName) def turbineAnalysis(self, dataFrame: pd.DataFrame, outputAnalysisDir, outputFilePath, confData: ConfBusiness, turbineName): pass def analysisOfTurbines(self, dataFrameMerge:pd.DataFrame, outputAnalysisDir, confData: ConfBusiness): self.turbinesAnalysis(dataFrameMerge ,outputAnalysisDir,confData) def turbinesAnalysis(self, dataFrameMerge: pd.DataFrame, outputAnalysisDir, confData: ConfBusiness): pass