class_docstr: Metric representing (partial) learning curves of ML model training jobs.
code: def get_df_from_curve_series(
      self,
      experiment: Experiment,
      all_curve_series: Dict[Union[int, str], Dict[str, pd.Series]],
      metrics: Iterable[Metric],
      trial_idx_to_id: Dict[int, Union[int, str]],
  ) -> Optional[pd.DataFrame]:
      return get_df_from_curve_series(
          experiment=experiment,
          all_curve_series=all_curve_series,
          metrics=metrics,
          trial_idx_to_id=trial_idx_to_id,
          map_key=self.map_key_info.key,
      )
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from logging import Logger
  from typing import Any, Dict, Iterable, Optional, Set, Union
  import numpy
  import pandas
  from ax.core.base_trial import BaseTrial
  from ax.core.batch_trial import BatchTrial
  from ax.core.experiment import Experiment
  from ax.core.map_data import MapData, MapKeyInfo
  from ax.core.map_metric import MapMetric
  from ax.core.metric import Metric, MetricFetchE, MetricFetchResult
  from ax.core.trial import Trial
  from ax.early_stopping.utils import align_partial_results
  from ax.exceptions.core import UnsupportedError
  from ax.utils.common.logger import get_logger
  from ax.utils.common.result import Err, Ok
  from ax.utils.common.typeutils import checked_cast
label_desc: Use image node_id 9 for calling the AbstractCurveMetric obj's underlying member method code with example usage: obj.get_df_from_curve_series(experiment, all_curve_series, metrics, trial_idx_to_id) and returns: get_df_from_curve_series