code: def _normalize_zero_mean_one_std(train, test):
      """Normalizes the data columnwise to have mean of 0 and std of 1.
  
      Assumes that the first axis indexes independent datapoints. The mean and
      standard deviation are estimated from the training set and are used
      for both train and test data, to avoid leaking information.
  
      Args:
        train: A floating point numpy array representing the training data.
        test: A floating point numpy array representing the test data.
  
      Returns:
        normalized_train: The normalized training data.
        normalized_test: The normalized test data.
      """
      train = np.asarray(train)
      test = np.asarray(test)
      train_mean = train.mean(0, keepdims=True)
      train_std = train.std(0, keepdims=True)
      return (train - train_mean) / train_std, (
          test - train_mean
      ) / train_std
  
imports: import numpy
  import tensorflow.compat.v2
  import tensorflow_probability
  from inference_gym.internal.datasets import brownian_motion_missing_middle_observations
  from inference_gym.internal.datasets import convection_lorenz_bridge
  from inference_gym.internal.datasets import sp500_closing_prices
  from inference_gym.internal.datasets import synthetic_item_response_theory
  from inference_gym.internal.datasets import synthetic_log_gaussian_cox_process
  from inference_gym.internal.datasets import synthetic_plasma_spectroscopy
  from inference_gym.internal.datasets import synthetic_plasma_spectroscopy_with_bump
label_desc: Use image node_id 3 for calling a global function with example usage: _normalize_zero_mean_one_std(train, test) and returns: unknown,  unknown