code: def tokenize(self, data, fit=False):
          
          with timer('tokenize %s' % self.name, logging.DEBUG):
              cleaned = self.series(data).str.replace(Token.PUNCTUATION_FILTER, ' ')
              lowered = cleaned.str.lower()
              dataframe = lowered.str.split(expand=True)
              if fit and self.sequence_length is None:
                  self.sequence_length = len(dataframe.columns)
              while len(dataframe.columns) < self.sequence_length:
                  column = len(dataframe.columns)
                  logger.warning('No string has %i tokens, adding blank column %i' % (self.sequence_length, column))
                  dataframe[column] = float('nan')
              return pandas.DataFrame({self.column: dataframe.loc[:,0:self.sequence_length - 1].values.flatten()})
docs: :param data: a dataframe containing a column to be tokenized
          :param fit: if True, self.sequence_length will exactly accomodate the largest tokenized sequence length
          :return: 1D array of tokens with length = rows * sequence_length