Ejemplo n.º 1
0
 def prepareToCorrelation(self,df,by):
     """
     prepare dataframe to correlation algorithm
     :param df: input df {pd.DataFrame}
     :param by: group by column
     :return: df                     : input dataframe from
              originFrame            : frames to move
              analyzedFrameUpdated   : stable main frame contains the most really coordinates
              fewDataFrame           : lack of data frame
              readyToCorr            : if data frame is ready to be pushed to correlation algorithm
     """
     _df = df.copy()
     fewDataFrame = pd.DataFrame()
     if by == 'User':
         self.startPoint,noises = Filters.noisyUser(_df,by,col = 'rawPower')
         #df = self.filters.rollingMean(df,'Power',by = by,noises = noises)
     if by == 'race_id':
         self.startPoint = _df['race_id'].iloc[0]
     analyzedFrame,originFrame = self.splitFrameByMinLen(_df,by)
     analyzedFrameUpdated,readyToCorr = self.checkBoundaries(originFrame,analyzedFrame,by)
     if (not readyToCorr):
         _df.drop(analyzedFrame.index,inplace=True)
         fewDataFrame = analyzedFrame
     return _df,originFrame,analyzedFrameUpdated,fewDataFrame,readyToCorr