code: def update(self, other):
      n1 = self.num_pushes
      n2 = other.num_pushes
      n = n1 + n2
      if n == 0:
          # Avoid divide by zero, which creates nans
          return
      delta = self.mean_array - other.mean_array
      delta2 = delta * delta
      m = (n1 * self.mean_array + n2 * other.mean_array) / n
      s = self.std_array + other.std_array + delta2 * n1 * n2 / n
      self.num_pushes = n
      self.mean_array = m
      self.std_array = s
  
imports: import logging
  import threading
  import numpy
  import tree
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils.deprecation import Deprecated
  from ray.rllib.utils.numpy import SMALL_NUMBER
  from ray.rllib.utils.typing import TensorStructType
  from ray.rllib.utils.serialization import _serialize_ndarray, _deserialize_ndarray
  from ray.rllib.utils.deprecation import deprecation_warning
label_desc: Use image node_id 4 for calling the RunningStat obj's underlying member method code with example usage: obj.update(other) without return types