<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def excise(self, ngram):
 """Removes all rows whose n-gram contains `ngram`. This operation uses simple string containment matching. For tokens that consist of multiple characters, this means that `ngram` may be part of one or two tokens; eg, "he m" would match on "she may". :param ngram: n-gram to remove containing n-gram rows by :type ngram: `str` """

        self._logger.info('Excising results containing "{}"'.format(ngram))
        if not ngram:
            return
        self._matches = self._matches[~self._matches[
            constants.NGRAM_FIELDNAME].str.contains(ngram, regex=False)]