code: def entropy(signal, prob="standard"):
      """Computes the entropy of the signal using the Shannon Entropy.
  
      Description in Article:
      Regularities Unseen, Randomness Observed: Levels of Entropy Convergence
      Authors: Crutchfield J. Feldman David
  
      Feature computational cost: 1
  
      Parameters
      ----------
      signal : nd-array
          Input from which entropy is computed
      prob : string
          Probability function (kde or gaussian functions are available)
  
      Returns
      -------
      float
          The normalized entropy value
  
      """
  
      if prob == "standard":
          value, counts = np.unique(signal, return_counts=True)
          p = counts / counts.sum()
      elif prob == "kde":
          p = kde(signal)
      elif prob == "gauss":
          p = gaussian(signal)
  
      if np.sum(p) == 0:
          return 0.0
  
      # Handling zero probability values
      p = p[np.where(p != 0)]
  
      # If probability all in one value, there is no entropy
      if np.log2(len(signal)) == 1:
          return 0.0
      elif np.sum(p * np.log2(p)) / np.log2(len(signal)) == 0:
          return 0.0
      else:
          return -np.sum(p * np.log2(p)) / np.log2(len(signal))
  
imports: import scipy.signal
  from tsfel.feature_extraction.features_utils import *
label_desc: Use image node_id 17 for calling a global function with example usage: entropy(signal, prob) and returns: int, int, int, unknown