class_docstr: Class storing numerical 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
          required columns are "arm_name", "metric_name", "mean", and "sem", the
          latter two of which must be numeric.
      description: Human-readable description of data.
class_docstr_tok: ["Class","storing","numerical","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","required","columns","are","``","arm_name","''",",","``","metric_name","''",",","``","mean","''",",","and","``","sem","''",",","the","latter","two","of","which","must","be","numeric",".","description",":","Human-readable","description","of","data","."]
docstr: Set of metric names that appear in the underlying dataframe of
  this object.
docstr_tok: ["Set","of","metric","names","that","appear","in","the","underlying","dataframe","of","this","object","."]
code: def metric_names(self) -> Set[str]:
      """Set of metric names that appear in the underlying dataframe of
      this object.
      """
      return (
          set() if self.df.empty else set(self.df["metric_name"].values)
      )
  
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 3 for calling the Data obj's underlying member method code with example usage: obj.metric_names() and returns: unknown