code: def computeTopDownForecastedProportions(self, iForecast_DF):
      self.mForecastedProp = {}
      for level in sorted(self.mStructure.keys()):
          if level > 0:
              for col in sorted(self.mStructure[level].keys()):
                  self.mForecastedProp[col] = {}
                  for col1 in sorted(self.mStructure[level][col]):
                      self.mForecastedProp[col][col1] = (
                          iForecast_DF[col1] / iForecast_DF[col]
                      ).mean()
      # print("ForecastedProp\n", self.mForecastedProp);
      pass
  
imports: import pandas
  import numpy
  from ..None import ForecastEngine
  from .None import Options
  from .None import Perf
  from .None import Utils
  from .None import Plots
  import time
label_desc: Use image node_id 19 for calling the cSignalHierarchy obj's underlying member method code with example usage: obj.computeTopDownForecastedProportions(iForecast_DF) without return types