code: def _add_continuous_noise(
      mean: np.ndarray,
      distribution: str,
      noise_std: float,
      root_node: bool,
  ) -> np.ndarray:
      n_samples = mean.shape[0]
  
      # try and get the requested distribution from the mapper
      distribution_func = __distribution_mapper.get(distribution, None)
      if distribution_func is None:
          _raise_dist_error(
              "continuous",
              distribution,
              [
                  "gaussian",
                  "normal",
                  "student-t",
                  "exponential",
                  "gumbel",
              ],
          )
  
      # add noise to mean
      mean += _handle_distribution_sampling(
          distribution=distribution,
          distribution_func=distribution_func,
          noise_std=noise_std,
          size=(n_samples,),
          root_node=root_node,
      )
  
      return mean
  
imports: from typing import Dict, Hashable, List, Optional, Tuple, Union
  import networkx
  import numpy
  import pandas
  from sklearn.gaussian_process.kernels import RBF, Kernel
  from causalnex.structure import StructureModel
  from causalnex.structure.categorical_variable_mapper import VariableFeatureMapper, validate_schema
label_desc: Use image node_id 4 for calling a global function with example usage: _add_continuous_noise(mean, distribution, noise_std, root_node) and returns: mean