docs: def check_dataframe(self, dataframe):
          """Check the given dataframe for the required type and columns
          """
          if dataframe is None:
              return None
  
          # is this a DataFrame
          if not isinstance(dataframe, pd.DataFrame):
              raise Exception(
                  'The provided dataframe object is not a pandas.DataFrame'
              )
  
          for column in self.required_columns:
              if column not in dataframe:
                  raise Exception('Required column not in dataframe: {0}'.format(
                      column
                  ))
          return dataframe