code: def transformDataset(self, df):
      self.checkDateAndSignalTypesForNewDataset(df)
      # new row
      lLastRow = df.tail(1).copy()
      lLastRow[self.mTime] = self.nextTime(df, 1)
      lLastRow[self.mSignal] = np.nan
      # print(lLastRow.columns ,  df.columns)
      assert str(lLastRow.columns) == str(df.columns)
      df = df.append(
          lLastRow, ignore_index=True, verify_integrity=True, sort=False
      )
      df[self.mRowNumberColumn] = np.arange(0, df.shape[0])
      df[
          self.mNormalizedTimeColumn
      ] = self.compute_normalize_date_column(df[self.mTime])
      # print(df.tail());
      return df
  
imports: import pandas
  import numpy
  from .None import Utils
  from .None import TimeSeries_Cutting
label_desc: Use image node_id 8 for calling the cTimeInfo obj's underlying member method code with example usage: obj.transformDataset(df) and returns: df