code: def is_categorical(arr):
      """
      Check whether an array-like is a Categorical instance.
  
      Parameters
      ----------
      arr : array-like
          The array-like to check.
  
      Returns
      -------
      boolean : Whether or not the array-like is of a Categorical instance.
  
      Examples
      --------
      >>> is_categorical([1, 2, 3])
      False
  
      Categoricals, Series Categoricals, and CategoricalIndex will return True.
  
      >>> cat = pd.Categorical([1, 2, 3])
      >>> is_categorical(cat)
      True
      >>> is_categorical(pd.Series(cat))
      True
      >>> is_categorical(pd.CategoricalIndex([1, 2, 3]))
      True
      """
  
      return isinstance(arr, ABCCategorical) or is_categorical_dtype(
          arr
      )
  
imports: import warnings
  import numpy
  from pandas._libs import algos, lib
  from pandas._libs.tslibs import conversion
  from pandas.compat import PY3, PY36, string_types
  from pandas.core.dtypes.dtypes import CategoricalDtype, DatetimeTZDtype, ExtensionDtype, IntervalDtype, PandasExtensionDtype, PeriodDtype, registry
  from pandas.core.dtypes.generic import ABCCategorical, ABCDateOffset, ABCDatetimeIndex, ABCIndexClass, ABCPeriodArray, ABCPeriodIndex, ABCSeries
  from pandas.core.dtypes.inference import is_array_like, is_bool, is_complex, is_decimal, is_dict_like, is_file_like, is_float, is_hashable, is_integer, is_interval, is_iterator, is_list_like, is_named_tuple, is_nested_list_like, is_number, is_re, is_re_compilable, is_scalar, is_sequence, is_string_like
label_desc: Use image node_id 9 for calling a global function with example usage: is_categorical(arr) and returns: unknown