code: def _identify_seasonal_period(
      s: pd.Series,
      low_autocorr: float = 0.1,
      high_autocorr: float = 0.3,
  ) -> Optional[int]:
      """Identify seasonal period of a time series based on autocorrelation.
  
      Parameters
      ----------
      s: pandas Series or DataFrame
          Time series where to identify seasonal periods.
  
      low_autocorr: float, optional
          Threshold below which values of autocorreltion are consider low.
          Default: 0.1
  
      high_autocorr: float, optional
          Threshold below which values of autocorreltion are consider high.
          Default: 0.3
  
      Returns
      -------
      int
          Seasonal period of the time series. If no significant seasonality
          is found, return None.
  
      """
  
      if low_autocorr > high_autocorr:
          raise ValueError(
              "`low_autocorr` must not exceed `high_autocorr`"
          )
  
      # check if the time series has uniform time step
      if len(np.unique(np.diff(s.index))) > 1:
          raise ValueError("The time steps are not constant. ")
  
      autocorr = acf(s, nlags=len(s), fft=False)
      cutPos = np.argwhere(autocorr >= low_autocorr)[0][0]
      diff_autocorr = np.diff(autocorr[cutPos:])
      high_autocorr_peak_pos = (
          cutPos
          + 1
          + np.argwhere(
              (diff_autocorr[:-1] > 0)
              & (diff_autocorr[1:] < 0)
              & (autocorr[cutPos + 1 : -1] > high_autocorr)
          ).flatten()
      )
      if len(high_autocorr_peak_pos) > 0:
          return high_autocorr_peak_pos[
              np.argmax(autocorr[high_autocorr_peak_pos])
          ]
      else:
          return None
  
imports: from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  import statsmodels
  from packaging.version import parse
  from statsmodels.tsa.seasonal import seasonal_decompose
  from statsmodels.tsa.stattools import acf
  from .._transformer_base import _NonTrainableUnivariateTransformer, _TrainableUnivariateTransformer
  from .._utils import PandasBugError
label_desc: Use image node_id 1 for calling a global function with example usage: _identify_seasonal_period(s, low_autocorr, high_autocorr) and returns: high_autocorr_peak_pos, None