code: def _unwrap_parity_loss_data(
      fobject, other_objects, metrics, verbose
  ):
      """Unwrap parity loss data
      Some functions use using same computations, they are put here.
      Function creates parity loss DataFrame from fobject and stacks it with
      data from other_objects. This is private, helper function.
      """
  
      data = pd.DataFrame()
      data["score"] = deepcopy(fobject.parity_loss)
      data["label"] = np.repeat(fobject.label, len(fobject.parity_loss))
      data["metric"] = data.index
      data = data.reset_index(drop=True)
  
      if other_objects is not None:
          for object in other_objects:
              other_data = pd.DataFrame()
              other_data["score"] = deepcopy(object.parity_loss)
              other_data["label"] = np.repeat(
                  object.label, len(object.parity_loss)
              )
              other_data["metric"] = other_data.index
              other_data = other_data.reset_index(drop=True)
              data = pd.concat([data, other_data])
  
      if len(metrics) > 1:
          data = data.loc[data.metric.isin(metrics), :]
      else:
          data = data.loc[data.metric == metrics[0]]
      # checking for nans
      if any(pd.isna(data.score)):
          models_with_nans = set(data.loc[pd.isna(data.score), :].label)
          helper.verbose_cat(
              f"Found NaNs in following models: {models_with_nans}",
              verbose,
          )
  
      return data
  
imports: from copy import deepcopy
  import numpy
  import pandas
  from .None import checks
  from ...None import _global_checks
  from ..._explainer import helper
  from ...model_explanations._model_performance import utils
label_desc: Use image node_id 3 for calling a global function with example usage: _unwrap_parity_loss_data(fobject, other_objects, metrics, verbose) and returns: data