docstr: If the dtype is categorical, there are two options:
  - There are only values in the data buffer.
  - There is a separate non-categorical Column encoding categorical values.
  
  Raises TypeError if the dtype is not categorical
  
  Returns the dictionary with description on how to interpret the data buffer:
      - "is_ordered" : bool, whether the ordering of dictionary indices is
                       semantically meaningful.
      - "is_dictionary" : bool, whether a mapping of
                          categorical values to other objects exists
      - "categories" : Column representing the (implicit) mapping of indices to
                       category values (e.g. an array of cat1, cat2, ...).
                       None if not a dictionary-style categorical.
  
  TBD: are there any other in-memory representations that are needed?
docstr_tok: ["If","the","dtype","is","categorical",",","there","are","two","options",":","-","There","are","only","values","in","the","data","buffer",".","-","There","is","a","separate","non-categorical","Column","encoding","categorical","values",".","Raises","TypeError","if","the","dtype","is","not","categorical","Returns","the","dictionary","with","description","on","how","to","interpret","the","data","buffer",":","-","``","is_ordered","''",":","bool",",","whether","the","ordering","of","dictionary","indices","is","semantically","meaningful",".","-","``","is_dictionary","''",":","bool",",","whether","a","mapping","of","categorical","values","to","other","objects","exists","-","``","categories","''",":","Column","representing","the","(","implicit",")","mapping","of","indices","to","category","values","(","e.g",".","an","array","of","cat1",",","cat2",",","...",")",".","None","if","not","a","dictionary-style","categorical",".","TBD",":","are","there","any","other","in-memory","representations","that","are","needed","?"]
code: def describe_categorical(self) -> Any:
      """
      If the dtype is categorical, there are two options:
      - There are only values in the data buffer.
      - There is a separate non-categorical Column encoding categorical values.
  
      Raises TypeError if the dtype is not categorical
  
      Returns the dictionary with description on how to interpret the data buffer:
          - "is_ordered" : bool, whether the ordering of dictionary indices is
                           semantically meaningful.
          - "is_dictionary" : bool, whether a mapping of
                              categorical values to other objects exists
          - "categories" : Column representing the (implicit) mapping of indices to
                           category values (e.g. an array of cat1, cat2, ...).
                           None if not a dictionary-style categorical.
  
      TBD: are there any other in-memory representations that are needed?
      """
      pass
  
file_path: altair/altair/utils/_dfi_types.py
imports: import enum
  from typing import Any, Iterable, Optional, Tuple, Protocol
label_desc: Use image node_id 2 for calling the Column obj's underlying member method code with example usage: obj.describe_categorical() without return types