code: def filter_table(table, filter_series, ignore=None):
      
      with log_start_finish('filter table', logger):
          ignore = ignore if ignore else set()
  
          filters = [_filterize(name, val)
                     for name, val in filter_series.iteritems()
                     if not (name in ignore or
                             (isinstance(val, numbers.Number) and
                              np.isnan(val)))]
  
          return apply_filter_query(table, filters)
docs: Filter a table based on a set of restrictions given in
      Series of column name / filter parameter pairs. The column
      names can have suffixes `_min` and `_max` to indicate
      "less than" and "greater than" constraints.
  
      Parameters
      ----------
      table : pandas.DataFrame
          Table to filter.
      filter_series : pandas.Series
          Series of column name / value pairs of filter constraints.
          Columns that ends with '_max' will be used to create
          a "less than" filters, columns that end with '_min' will be
          used to create "greater than or equal to" filters.
          A column with no suffix will be used to make an 'equal to' filter.
      ignore : sequence of str, optional
          List of column names that should not be used for filtering.
  
      Returns
      -------
      filtered : pandas.DataFrame