code: def _check_tag_cond(estimator, filter_tags=None, as_dataframe=True):
      """Check whether estimator satisfies filter_tags condition.
  
      Parameters
      ----------
      estimator: BaseEstimator, an sktime estimator
      filter_tags: dict of (str or list of str), default=None
          subsets the returned estimators as follows:
              each key/value pair is statement in "and"/conjunction
                  key is tag name to sub-set on
                  value str or list of string are tag values
                  condition is "key must be equal to value, or in set(value)"
      as_dataframe: bool, default=False
                  if False, return is as described below;
                  if True, return is converted into a pandas.DataFrame for pretty
                  display
  
      Returns
      -------
      cond_sat: bool, whether estimator satisfies condition in filter_tags
      """
      if not isinstance(filter_tags, dict):
          raise TypeError("filter_tags must be a dict")
  
      cond_sat = True
  
      for key, value in filter_tags.items():
          if not isinstance(value, list):
              value = [value]
          cond_sat = cond_sat and estimator.get_class_tag(key) in set(
              value
          )
  
      return cond_sat
  
file_path: sktime/sktime/registry/_lookup.py
imports: from copy import deepcopy
  from operator import itemgetter
  from pathlib import Path
  import pandas
  from skbase.lookup import all_objects
  from sktime.base import BaseEstimator
  from sktime.registry._base_classes import BASE_CLASS_LIST, BASE_CLASS_LOOKUP, TRANSFORMER_MIXIN_LIST
  from sktime.registry._tags import ESTIMATOR_TAG_REGISTER
label_desc: Use image node_id 4 for calling a global function with example usage: _check_tag_cond(estimator, filter_tags, as_dataframe) and returns: cond_sat