docs: def as_dataframe(self, pattern='*', max_rows=None):
      """Creates a pandas dataframe from the groups that match the filters.
  
      Args:
        pattern: An optional pattern to further filter the groups. This can
            include Unix shell-style wildcards. E.g. ``"Production *"``,
            ``"*-backend"``.
        max_rows: The maximum number of groups to return. If None, return all.
  
      Returns:
        A pandas dataframe containing matching groups.
      """
      data = []
      for i, group in enumerate(self.list(pattern)):
        if max_rows is not None and i >= max_rows:
          break
        parent = self._group_dict.get(group.parent_id)
        parent_display_name = '' if parent is None else parent.display_name
        data.append([
            group.id, group.display_name, group.parent_id,
            parent_display_name, group.is_cluster, group.filter])
  
      return pandas.DataFrame(data, columns=self._DISPLAY_HEADERS)