class_docstr: Outcomes observed at a point.
  
  The "point" corresponding to this ObservationData would be an
  ObservationFeatures object.
  
  Attributes:
      metric_names: A list of k metric names that were observed
      means: a k-array of observed means
      covariance: a (k x k) array of observed covariances
class_docstr_tok: ["Outcomes","observed","at","a","point",".","The","``","point","''","corresponding","to","this","ObservationData","would","be","an","ObservationFeatures","object",".","Attributes",":","metric_names",":","A","list","of","k","metric","names","that","were","observed","means",":","a","k-array","of","observed","means","covariance",":","a","(","k","x","k",")","array","of","observed","covariances"]
docstr: Extract means from this observation data as mapping from metric name to
  mean.
docstr_tok: ["Extract","means","from","this","observation","data","as","mapping","from","metric","name","to","mean","."]
code: def means_dict(self) -> Dict[str, float]:
      """Extract means from this observation data as mapping from metric name to
      mean.
      """
      return dict(zip(self.metric_names, self.means))
  
imports: from __future__ import annotations
  import json
  import warnings
  from copy import deepcopy
  from typing import Dict, Iterable, List, Optional, Set, Tuple
  import ax.core.experiment
  import numpy
  import pandas
  from ax.core.arm import Arm
  from ax.core.batch_trial import BatchTrial
  from ax.core.data import Data
  from ax.core.map_data import MapData
  from ax.core.types import TCandidateMetadata, TParameterization
  from ax.utils.common.base import Base
  from ax.utils.common.constants import Keys
  from ax.utils.common.typeutils import not_none
label_desc: Use image node_id 2 for calling the ObservationData obj's underlying member method code with example usage: obj.means_dict() and returns: dict