class_docstr: `pandas.DataFrame` columns info (name, style formating,...).
  
  Attributes:
    name: Name of the column
    format_fn: Function applied to each column items, which returns the
      displayed string object (eventually HTML)
class_docstr_tok: ["`","pandas.DataFrame","`","columns","info","(","name",",","style","formating",",","...",")",".","Attributes",":","name",":","Name","of","the","column","format_fn",":","Function","applied","to","each","column","items",",","which","returns","the","displayed","string","object","(","eventually","HTML",")"]
docstr: Formatter which filters values hard to read and format.
docstr_tok: ["Formatter","which","filters","values","hard","to","read","and","format","."]
code: def from_spec(
      cls,
      path: Tuple[str],
      ds_info: Optional[dataset_info.DatasetInfo],
  ) -> "ColumnInfo":
      """Formatter which filters values hard to read and format."""
      name = "/".join(path)
  
      # If ds_info is not provided, no formatting
      if not ds_info:
          # Could use the spec for a better formatting ?
          return cls(name)
  
      # Extract feature for formatting
      feature, sequence_rank = _get_feature(path, ds_info.features)
  
      # Sequence would require special formatting, not supported for now
      if sequence_rank == 0:
          repr_fn = feature.repr_html
      elif sequence_rank == 1:
          repr_fn = feature.repr_html_batch
      elif sequence_rank > 1:
          repr_fn = feature.repr_html_ragged
  
      def repr_fn_with_debug(val):  # Wrap repr_fn to add debug info
          try:
              return repr_fn(val)
          except Exception as e:  # pylint: disable=broad-except
              err_msg = (
                  f"HTML formatting of column {name} failed:\n"
                  f" * feature: {feature}\n"
                  f" * input: {val!r}\n"
              )
              py_utils.reraise(e, prefix=err_msg)
  
      return ColumnInfo(
          name="/".join(path),
          format_fn=repr_fn_with_debug,
      )
  
file_path: datasets/tensorflow_datasets/core/as_dataframe.py
imports: from __future__ import annotations
  import dataclasses
  import typing
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  from tensorflow_datasets.core import dataset_info
  from tensorflow_datasets.core import dataset_utils
  from tensorflow_datasets.core import features
  from tensorflow_datasets.core import lazy_imports_lib
  from tensorflow_datasets.core.utils import py_utils
  from tensorflow_datasets.core.utils import type_utils
  from tensorflow_datasets.core.utils.lazy_imports_utils import pandas
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 1 for calling the ColumnInfo obj's underlying member method code with example usage: obj.from_spec(cls, path, ds_info) and returns: ColumnInfo, cls, repr_fn