docs: def zero_fill(self, corpus):
          """Adds rows to the results to ensure that, for every n-gram that is
          attested in at least one witness, every witness for that text
          has a row, with added rows having a count of zero.
  
          :param corpus: corpus containing the texts appearing in the results
          :type corpus: `Corpus`
  
          """
          self._logger.info('Zero-filling results')
          zero_rows = []
          work_sigla = {}
          grouping_cols = [constants.LABEL_FIELDNAME, constants.NGRAM_FIELDNAME,
                           constants.SIZE_FIELDNAME, constants.WORK_FIELDNAME]
          grouped = self._matches.groupby(grouping_cols, sort=False)
          for (label, ngram, size, work), group in grouped:
              row_data = {
                  constants.NGRAM_FIELDNAME: ngram,
                  constants.LABEL_FIELDNAME: label,
                  constants.SIZE_FIELDNAME: size,
                  constants.COUNT_FIELDNAME: 0,
                  constants.WORK_FIELDNAME: work,
              }
              if work not in work_sigla:
                  work_sigla[work] = corpus.get_sigla(work)
              for siglum in work_sigla[work]:
                  if group[group[constants.SIGLUM_FIELDNAME] == siglum].empty:
                      row_data[constants.SIGLUM_FIELDNAME] = siglum
                      zero_rows.append(row_data)
          zero_df = pd.DataFrame(zero_rows, columns=constants.QUERY_FIELDNAMES)
          self._matches = pd.concat([self._matches, zero_df], ignore_index=True,
                                    sort=False)