class_docstr: Class storing data for an experiment.
  
  The dataframe is retrieved via the `df` property. The data can be stored
  to an external store for future use by attaching it to an experiment using
  `experiment.attach_data()` (this requires a description to be set.)
  
  
  Attributes:
      df: DataFrame with underlying data, and required columns. For BaseData, the
          one required column is "arm_name".
      description: Human-readable description of data.
class_docstr_tok: ["Class","storing","data","for","an","experiment",".","The","dataframe","is","retrieved","via","the","`","df","`","property",".","The","data","can","be","stored","to","an","external","store","for","future","use","by","attaching","it","to","an","experiment","using","`","experiment.attach_data","(",")","`","(","this","requires","a","description","to","be","set",".",")","Attributes",":","df",":","DataFrame","with","underlying","data",",","and","required","columns",".","For","BaseData",",","the","one","required","column","is","``","arm_name","''",".","description",":","Human-readable","description","of","data","."]
docstr: Convert dict of evaluations to Ax data object.
  
  Args:
      evaluations: Map from arm name to outcomes, which itself is a mapping of
          outcome names to values, means, or tuples of mean and SEM. If SEM is
          not specified, it will be set to None and inferred from data.
      trial_index: Trial index to which this data belongs.
      sample_sizes: Number of samples collected for each arm.
      start_time: Optional start time of run of the trial that produced this
          data, in milliseconds or iso format.  Milliseconds will be automatically
          converted to iso format because iso format automatically works with the
          pandas column type `Timestamp`.
      end_time: Optional end time of run of the trial that produced this
          data, in milliseconds or iso format.  Milliseconds will be automatically
          converted to iso format because iso format automatically works with the
          pandas column type `Timestamp`.
  
  Returns:
      Ax object of the enclosing class.
docstr_tok: ["Convert","dict","of","evaluations","to","Ax","data","object",".","Args",":","evaluations",":","Map","from","arm","name","to","outcomes",",","which","itself","is","a","mapping","of","outcome","names","to","values",",","means",",","or","tuples","of","mean","and","SEM",".","If","SEM","is","not","specified",",","it","will","be","set","to","None","and","inferred","from","data",".","trial_index",":","Trial","index","to","which","this","data","belongs",".","sample_sizes",":","Number","of","samples","collected","for","each","arm",".","start_time",":","Optional","start","time","of","run","of","the","trial","that","produced","this","data",",","in","milliseconds","or","iso","format",".","Milliseconds","will","be","automatically","converted","to","iso","format","because","iso","format","automatically","works","with","the","pandas","column","type","`","Timestamp","`",".","end_time",":","Optional","end","time","of","run","of","the","trial","that","produced","this","data",",","in","milliseconds","or","iso","format",".","Milliseconds","will","be","automatically","converted","to","iso","format","because","iso","format","automatically","works","with","the","pandas","column","type","`","Timestamp","`",".","Returns",":","Ax","object","of","the","enclosing","class","."]
code: def from_evaluations(
      cls: Type[TBaseData],
      evaluations: Dict[str, TTrialEvaluation],
      trial_index: int,
      sample_sizes: Optional[Dict[str, int]] = None,
      start_time: Optional[Union[int, str]] = None,
      end_time: Optional[Union[int, str]] = None,
  ) -> TBaseData:
      """
      Convert dict of evaluations to Ax data object.
  
      Args:
          evaluations: Map from arm name to outcomes, which itself is a mapping of
              outcome names to values, means, or tuples of mean and SEM. If SEM is
              not specified, it will be set to None and inferred from data.
          trial_index: Trial index to which this data belongs.
          sample_sizes: Number of samples collected for each arm.
          start_time: Optional start time of run of the trial that produced this
              data, in milliseconds or iso format.  Milliseconds will be automatically
              converted to iso format because iso format automatically works with the
              pandas column type `Timestamp`.
          end_time: Optional end time of run of the trial that produced this
              data, in milliseconds or iso format.  Milliseconds will be automatically
              converted to iso format because iso format automatically works with the
              pandas column type `Timestamp`.
  
      Returns:
          Ax object of the enclosing class.
      """
      records = cls._get_records(
          evaluations=evaluations, trial_index=trial_index
      )
      records = cls._add_cols_to_records(
          records=records,
          sample_sizes=sample_sizes,
          start_time=start_time,
          end_time=end_time,
      )
      return cls(df=pd.DataFrame(records))
  
imports: from __future__ import annotations
  import json
  from abc import abstractmethod
  from functools import reduce
  from hashlib import md5
  from typing import Any, Dict, Iterable, List, Optional, Set, Type, TypeVar, Union
  import numpy
  import pandas
  from ax.core.types import TFidelityTrialEvaluation, TTrialEvaluation
  from ax.utils.common.base import Base
  from ax.utils.common.serialization import extract_init_args, SerializationMixin, serialize_init_args, TClassDecoderRegistry, TDecoderRegistry
  from ax.utils.common.typeutils import checked_cast, not_none
label_desc: Use image node_id 13 for calling the BaseData obj's underlying member method code with example usage: obj.from_evaluations(cls, evaluations, trial_index, sample_sizes, start_time, end_time) and returns: cls