code: def normalize_numeric(df, numerical_cols: List[str] = []):
      """
      Normalizes numeric columns by substracting the mean and dividing
          by standard deviation. If the parameter numerical_cols is not
          provided, it will take all the columns of dtype np.number.
  
      :Example:
  
      norm_df = xai.normalize_numeric(
                  df,
                  normalize_numeric=["age", "other_numeric_attribute"])
  
      :param df: Pandas Dataframe containing data (inputs and target)
      :type df: pd.DataFrame
      :param numerical_cols: List of strings containing numercial cols
      :type categorical_cols: str
      :returns: Dataframe with normalized numerical values.
      :rtype: pandas.DataFrame
  
      """
      tmp_df = df.copy()
  
      if not len(numerical_cols):
          numerical_cols = df.select_dtypes(include=[np.number]).columns
  
      for k in numerical_cols:
          tmp_df[k] = tmp_df[k].astype(np.float32)
          tmp_df[k] -= tmp_df[k].mean()
          tmp_df[k] /= tmp_df[k].std()
  
      return tmp_df
  
imports: import pandas
  import matplotlib.pyplot
  import numpy
  from scipy.stats import spearmanr
  from scipy.cluster import hierarchy
  from typing import List, Any, Union, Tuple, Optional, Dict
  import random, math
  from sklearn.metrics import roc_curve, precision_recall_curve, roc_auc_score, confusion_matrix
  import itertools
  import logging
label_desc: Use image node_id 1 for calling a global function with example usage: normalize_numeric(df, numerical_cols) and returns: tmp_df