code: def standard_scaler(
      df: pd.DataFrame, columns_to_scale: List[str]
  ) -> LearnerReturnType:
      """
      Fits a standard scaler to the dataset.
  
      The default behaviour is to replace the original values. To store
      the original values in a new column, specify `prefix` or `suffix`
      in the parameters, or specify a dictionary with the desired column
      mapping using the `columns_mapping` parameter.
  
      Parameters
      ----------
  
      df : pandas.DataFrame
          A Pandas' DataFrame with columns to scale.
          It must contain all columns listed in `columns_to_scale`.
  
      columns_to_scale : list of str
          A list of names of the columns for standard scaling.
      """
  
      scaler = StandardScaler()
  
      scaler.fit(df[columns_to_scale].values)
  
      def p(new_data_set: pd.DataFrame) -> pd.DataFrame:
          new_data = scaler.transform(
              new_data_set[columns_to_scale].values
          )
          new_cols = pd.DataFrame(
              data=new_data, columns=columns_to_scale
          ).to_dict("list")
          return new_data_set.assign(**new_cols)
  
      p.__doc__ = learner_pred_fn_docstring("standard_scaler")
  
      log = {
          "standard_scaler": {
              "standard_scaler": scaler.get_params(),
              "transformed_column": columns_to_scale,
          }
      }
  
      return p, p(df), log
  
imports: from typing import Any, Callable, Dict, List, Union, Optional
  import numpy
  import pandas
  from numpy import nan
  from sklearn.preprocessing import StandardScaler
  from statsmodels.distributions import empirical_distribution
  from toolz import curry, merge, compose, mapcat
  from fklearn.common_docstrings import learner_return_docstring, learner_pred_fn_docstring
  from fklearn.training.utils import log_learner_time
  from fklearn.types import LearnerReturnType, LearnerLogType
  from fklearn.preprocessing.schema import column_duplicatable
label_desc: Use image node_id 16 for calling a global function with example usage: standard_scaler(df, columns_to_scale) and returns: p,  p,  log, new_data_set