code: def select_describe_func(
      data: Series,
  ) -> Callable:
      """Select proper function for describing series based on data type.
  
      Parameters
      ----------
      data : Series
          Series to be described.
      """
      if is_bool_dtype(data.dtype):
          return describe_categorical_1d
      elif is_numeric_dtype(data):
          return describe_numeric_1d
      elif data.dtype.kind == "M" or isinstance(
          data.dtype, DatetimeTZDtype
      ):
          return describe_timestamp_1d
      elif data.dtype.kind == "m":
          return describe_numeric_1d
      else:
          return describe_categorical_1d
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Any, Callable, Hashable, Sequence, cast
  import numpy
  from pandas._libs.tslibs import Timestamp
  from pandas._typing import DtypeObj, NDFrameT, npt
  from pandas.util._validators import validate_percentile
  from pandas.core.dtypes.common import is_bool_dtype, is_complex_dtype, is_extension_array_dtype, is_numeric_dtype
  from pandas.core.dtypes.dtypes import DatetimeTZDtype
  from pandas.core.arrays.arrow.dtype import ArrowDtype
  from pandas.core.arrays.floating import Float64Dtype
  from pandas.core.reshape.concat import concat
  from pandas.io.formats.format import format_percentiles
label_desc: Use image node_id 7 for calling a global function with example usage: select_describe_func(data) and returns: describe_categorical_1d, describe_numeric_1d, describe_timestamp_1d, describe_numeric_1d, describe_categorical_1d