code: def identify_column_infotypes(
      data_series,
      engine_backend,
      sample_size: Union[int, float] = _SAMPLE_SIZE,
      score_threshold=_DEFAULT_SCORE_THRESHOLD,
  ):
      """Identifies the infotype of a pandas series object using a sample of rows.
  
      Args:
          data_series (Series): A Series
          engine_backend: The backend analyzer engine. Default is presidio_analyzer.
          sample_size (int): Number of rows to sample from
          score_threshold (float): Minimum confidence value for detected entities to be returned
  
      Returns:
          List of infotypes
      """
      if isinstance(sample_size, int):
          sampled_data = data_series.sample(
              n=sample_size, random_state=1
          )
      elif isinstance(sample_size, float):
          sampled_data = data_series.sample(
              frac=sample_size, random_state=1
          )
      results = list(
          sampled_data.map(
              lambda x: identify_pii(
                  text=x,
                  engine_backend=engine_backend,
                  score_threshold=score_threshold,
              )
          )
      )
      if results:
          return sorted(
              list(set([i.entity_type for obj in results for i in obj]))
          )
  
imports: import hashlib
  import logging
  from functools import reduce
  from typing import Optional, Union
  import warnings
  from data_describe.misc.logging import OutputLogger
  from data_describe.backends import _get_compute_backend
  from data_describe.compat import _is_dataframe, _compat, _requires
  from data_describe.config._config import get_option
  from data_describe._widget import BaseWidget
label_desc: Use image node_id 6 for calling a global function with example usage: identify_column_infotypes(data_series, engine_backend, sample_size, score_threshold) and returns: sorted