class_docstr: Spark related features. Usually, the features here are missing in pandas
  but Spark has it.
class_docstr_tok: ["Spark","related","features",".","Usually",",","the","features","here","are","missing","in","pandas","but","Spark","has","it","."]
docstr: Prints out the underlying Spark schema in the tree format.
  
  Parameters
  ----------
  index_col: str or list of str, optional, default: None
      Column names to be used in Spark to represent pandas-on-Spark's index. The index name
      in pandas-on-Spark is ignored. By default, the index is always lost.
  
  Returns
  -------
  None
  
  Examples
  --------
  >>> df = ps.DataFrame({'a': list('abc'),
  ...                    'b': list(range(1, 4)),
  ...                    'c': np.arange(3, 6).astype('i1'),
  ...                    'd': np.arange(4.0, 7.0, dtype='float64'),
  ...                    'e': [True, False, True],
  ...                    'f': pd.date_range('20130101', periods=3)},
  ...                   columns=['a', 'b', 'c', 'd', 'e', 'f'])
  >>> df.spark.print_schema()  # doctest: +NORMALIZE_WHITESPACE
  root
   |-- a: string (nullable = false)
   |-- b: long (nullable = false)
   |-- c: byte (nullable = false)
   |-- d: double (nullable = false)
   |-- e: boolean (nullable = false)
   |-- f: timestamp (nullable = false)
  >>> df.spark.print_schema(index_col='index')  # doctest: +NORMALIZE_WHITESPACE
  root
   |-- index: long (nullable = false)
   |-- a: string (nullable = false)
   |-- b: long (nullable = false)
   |-- c: byte (nullable = false)
   |-- d: double (nullable = false)
   |-- e: boolean (nullable = false)
   |-- f: timestamp (nullable = false)
docstr_tok: ["Prints","out","the","underlying","Spark","schema","in","the","tree","format",".","Parameters","--","--","--","--","--","index_col",":","str","or","list","of","str",",","optional",",","default",":","None","Column","names","to","be","used","in","Spark","to","represent","pandas-on-Spark","'s","index",".","The","index","name","in","pandas-on-Spark","is","ignored",".","By","default",",","the","index","is","always","lost",".","Returns","--","--","--","-","None","Examples","--","--","--","--",">",">",">","df","=","ps.DataFrame","(","{","'","a","'",":","list","(","'abc","'",")",",","...","'","b","'",":","list","(","range","(","1",",","4",")",")",",","...","'","c","'",":","np.arange","(","3",",","6",")",".astype","(","'i1","'",")",",","...","'d","'",":","np.arange","(","4.0",",","7.0",",","dtype='float64","'",")",",","...","'","e","'",":","[","True",",","False",",","True","]",",","...","'","f","'",":","pd.date_range","(","'20130101","'",",","periods=3",")","}",",","...","columns=","[","'","a","'",",","'","b","'",",","'","c","'",",","'d","'",",","'","e","'",",","'","f","'","]",")",">",">",">","df.spark.print_schema","(",")","#","doctest",":","+NORMALIZE_WHITESPACE","root","|","--","a",":","string","(","nullable","=","false",")","|","--","b",":","long","(","nullable","=","false",")","|","--","c",":","byte","(","nullable","=","false",")","|","--","d",":","double","(","nullable","=","false",")","|","--","e",":","boolean","(","nullable","=","false",")","|","--","f",":","timestamp","(","nullable","=","false",")",">",">",">","df.spark.print_schema","(","index_col='index","'",")","#","doctest",":","+NORMALIZE_WHITESPACE","root","|","--","index",":","long","(","nullable","=","false",")","|","--","a",":","string","(","nullable","=","false",")","|","--","b",":","long","(","nullable","=","false",")","|","--","c",":","byte","(","nullable","=","false",")","|","--","d",":","double","(","nullable","=","false",")","|","--","e",":","boolean","(","nullable","=","false",")","|","--","f",":","timestamp","(","nullable","=","false",")"]
code: def print_schema(
      self, index_col: Optional[Union[str, List[str]]] = None
  ) -> None:
      """
      Prints out the underlying Spark schema in the tree format.
  
      Parameters
      ----------
      index_col: str or list of str, optional, default: None
          Column names to be used in Spark to represent pandas-on-Spark's index. The index name
          in pandas-on-Spark is ignored. By default, the index is always lost.
  
      Returns
      -------
      None
  
      Examples
      --------
      >>> df = ps.DataFrame({'a': list('abc'),
      ...                    'b': list(range(1, 4)),
      ...                    'c': np.arange(3, 6).astype('i1'),
      ...                    'd': np.arange(4.0, 7.0, dtype='float64'),
      ...                    'e': [True, False, True],
      ...                    'f': pd.date_range('20130101', periods=3)},
      ...                   columns=['a', 'b', 'c', 'd', 'e', 'f'])
      >>> df.spark.print_schema()  # doctest: +NORMALIZE_WHITESPACE
      root
       |-- a: string (nullable = false)
       |-- b: long (nullable = false)
       |-- c: byte (nullable = false)
       |-- d: double (nullable = false)
       |-- e: boolean (nullable = false)
       |-- f: timestamp (nullable = false)
      >>> df.spark.print_schema(index_col='index')  # doctest: +NORMALIZE_WHITESPACE
      root
       |-- index: long (nullable = false)
       |-- a: string (nullable = false)
       |-- b: long (nullable = false)
       |-- c: byte (nullable = false)
       |-- d: double (nullable = false)
       |-- e: boolean (nullable = false)
       |-- f: timestamp (nullable = false)
      """
      self.frame(index_col).printSchema()
  
imports: from abc import ABCMeta, abstractmethod
  from typing import TYPE_CHECKING, Callable, Generic, List, Optional, Union
  from pyspark import StorageLevel
  from pyspark.sql import Column, DataFrame
  from pyspark.sql.types import DataType, StructType
  from pyspark.pandas._typing import IndexOpsLike
  from pyspark.pandas.internal import InternalField
  from pyspark.sql.utils import get_column_class, get_dataframe_class
label_desc: Use image node_id 3 for calling the SparkFrameMethods obj's underlying member method code with example usage: obj.print_schema(index_col) without return types