code: def load_shampoo_sales():
      """Load the shampoo sales univariate time series dataset for forecasting.
  
      Returns
      -------
      y : pd.Series/DataFrame
          Shampoo sales dataset
  
      Examples
      --------
      >>> from sktime.datasets import load_shampoo_sales
      >>> y = load_shampoo_sales()
  
      Notes
      -----
      This dataset describes the monthly number of sales of shampoo over a 3
      year period.
      The units are a sales count.
  
      Dimensionality:     univariate
      Series length:      36
      Frequency:          Monthly
      Number of cases:    1
  
      References
      ----------
      .. [1] Makridakis, Wheelwright and Hyndman (1998) Forecasting: methods
      and applications,
          John Wiley & Sons: New York. Chapter 3.
      """
      name = "ShampooSales"
      fname = name + ".csv"
      path = os.path.join(MODULE, DIRNAME, name, fname)
      y = pd.read_csv(path, index_col=0, dtype={1: float}).squeeze(
          "columns"
      )
      y.index = pd.PeriodIndex(y.index, freq="M", name="Period")
      y.name = "Number of shampoo sales"
      return y
  
imports: import os
  import zipfile
  from urllib.error import HTTPError, URLError
  from warnings import warn
  import numpy
  import pandas
  from sktime.datasets._data_io import _download_and_extract, _list_available_datasets, _load_dataset, _load_provided_dataset
  from sktime.datasets._readers_writers.tsf import load_tsf_to_dataframe
  from sktime.datasets.tsf_dataset_names import tsf_all, tsf_all_datasets
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 12 for calling a global function with example usage: load_shampoo_sales() and returns: y