def info(self, verbose: Optional[bool]=None, buf: Optional[IO[str]]=None, max_cols: Optional[int]=None, null_counts: Optional[bool]=None) -> None:
    '\n        Print a concise summary of a DataFrame.\n\n        This method prints information about a DataFrame including\n        the index dtype and column dtypes, non-null values and memory usage.\n\n        Parameters\n        ----------\n        verbose : bool, optional\n            Whether to print the full summary.\n        buf : writable buffer, defaults to sys.stdout\n            Where to send the output. By default, the output is printed to\n            sys.stdout. Pass a writable buffer if you need to further process\n            the output.\n        max_cols : int, optional\n            When to switch from the verbose to the truncated output. If the\n            DataFrame has more than `max_cols` columns, the truncated output\n            is used.\n        null_counts : bool, optional\n            Whether to show the non-null counts.\n\n        Returns\n        -------\n        None\n            This method prints a summary of a DataFrame and returns None.\n\n        See Also\n        --------\n        DataFrame.describe: Generate descriptive statistics of DataFrame\n            columns.\n\n        Examples\n        --------\n        >>> int_values = [1, 2, 3, 4, 5]\n        >>> text_values = [\'alpha\', \'beta\', \'gamma\', \'delta\', \'epsilon\']\n        >>> float_values = [0.0, 0.25, 0.5, 0.75, 1.0]\n        >>> df = ps.DataFrame(\n        ...     {"int_col": int_values, "text_col": text_values, "float_col": float_values},\n        ...     columns=[\'int_col\', \'text_col\', \'float_col\'])\n        >>> df\n           int_col text_col  float_col\n        0        1    alpha       0.00\n        1        2     beta       0.25\n        2        3    gamma       0.50\n        3        4    delta       0.75\n        4        5  epsilon       1.00\n\n        Prints information of all columns:\n\n        >>> df.info(verbose=True)  # doctest: +SKIP\n        <class \'pyspark.pandas.frame.DataFrame\'>\n        Index: 5 entries, 0 to 4\n        Data columns (total 3 columns):\n         #   Column     Non-Null Count  Dtype\n        ---  ------     --------------  -----\n         0   int_col    5 non-null      int64\n         1   text_col   5 non-null      object\n         2   float_col  5 non-null      float64\n        dtypes: float64(1), int64(1), object(1)\n\n        Prints a summary of columns count and its dtypes but not per column\n        information:\n\n        >>> df.info(verbose=False)  # doctest: +SKIP\n        <class \'pyspark.pandas.frame.DataFrame\'>\n        Index: 5 entries, 0 to 4\n        Columns: 3 entries, int_col to float_col\n        dtypes: float64(1), int64(1), object(1)\n\n        Pipe output of DataFrame.info to buffer instead of sys.stdout, get\n        buffer content and writes to a text file:\n\n        >>> import io\n        >>> buffer = io.StringIO()\n        >>> df.info(buf=buffer)\n        >>> s = buffer.getvalue()\n        >>> with open(\'%s/info.txt\' % path, "w",\n        ...           encoding="utf-8") as f:\n        ...     _ = f.write(s)\n        >>> with open(\'%s/info.txt\' % path) as f:\n        ...     f.readlines()  # doctest: +SKIP\n        ["<class \'pyspark.pandas.frame.DataFrame\'>\\n",\n        \'Index: 5 entries, 0 to 4\\n\',\n        \'Data columns (total 3 columns):\\n\',\n        \' #   Column     Non-Null Count  Dtype  \\n\',\n        \'---  ------     --------------  -----  \\n\',\n        \' 0   int_col    5 non-null      int64  \\n\',\n        \' 1   text_col   5 non-null      object \\n\',\n        \' 2   float_col  5 non-null      float64\\n\',\n        \'dtypes: float64(1), int64(1), object(1)\']\n        '
    with pd.option_context('display.max_info_columns', sys.maxsize, 'display.max_info_rows', sys.maxsize):
        try:
            object.__setattr__(self, '_data', self)
            count_func = self.count
            self.count = (lambda : count_func()._to_pandas())
            return pd.DataFrame.info(self, verbose=verbose, buf=buf, max_cols=max_cols, memory_usage=False, null_counts=null_counts)
        finally:
            del self._data
            self.count = count_func
Print a concise summary of a DataFrame.

This method prints information about a DataFrame including
the index dtype and column dtypes, non-null values and memory usage.

Parameters
----------
verbose : bool, optional
    Whether to print the full summary.
buf : writable buffer, defaults to sys.stdout
    Where to send the output. By default, the output is printed to
    sys.stdout. Pass a writable buffer if you need to further process
    the output.
max_cols : int, optional
    When to switch from the verbose to the truncated output. If the
    DataFrame has more than `max_cols` columns, the truncated output
    is used.
null_counts : bool, optional
    Whether to show the non-null counts.

Returns
-------
None
    This method prints a summary of a DataFrame and returns None.

See Also
--------
DataFrame.describe: Generate descriptive statistics of DataFrame
    columns.

Examples
--------
>>> int_values = [1, 2, 3, 4, 5]
>>> text_values = ['alpha', 'beta', 'gamma', 'delta', 'epsilon']
>>> float_values = [0.0, 0.25, 0.5, 0.75, 1.0]
>>> df = ps.DataFrame(
...     {"int_col": int_values, "text_col": text_values, "float_col": float_values},
...     columns=['int_col', 'text_col', 'float_col'])
>>> df
   int_col text_col  float_col
0        1    alpha       0.00
1        2     beta       0.25
2        3    gamma       0.50
3        4    delta       0.75
4        5  epsilon       1.00

Prints information of all columns:

>>> df.info(verbose=True)  # doctest: +SKIP
<class 'pyspark.pandas.frame.DataFrame'>
Index: 5 entries, 0 to 4
Data columns (total 3 columns):
 #   Column     Non-Null Count  Dtype
---  ------     --------------  -----
 0   int_col    5 non-null      int64
 1   text_col   5 non-null      object
 2   float_col  5 non-null      float64
dtypes: float64(1), int64(1), object(1)

Prints a summary of columns count and its dtypes but not per column
information:

>>> df.info(verbose=False)  # doctest: +SKIP
<class 'pyspark.pandas.frame.DataFrame'>
Index: 5 entries, 0 to 4
Columns: 3 entries, int_col to float_col
dtypes: float64(1), int64(1), object(1)

Pipe output of DataFrame.info to buffer instead of sys.stdout, get
buffer content and writes to a text file:

>>> import io
>>> buffer = io.StringIO()
>>> df.info(buf=buffer)
>>> s = buffer.getvalue()
>>> with open('%s/info.txt' % path, "w",
...           encoding="utf-8") as f:
...     _ = f.write(s)
>>> with open('%s/info.txt' % path) as f:
...     f.readlines()  # doctest: +SKIP
["<class 'pyspark.pandas.frame.DataFrame'>\n",
'Index: 5 entries, 0 to 4\n',
'Data columns (total 3 columns):\n',
' #   Column     Non-Null Count  Dtype  \n',
'---  ------     --------------  -----  \n',
' 0   int_col    5 non-null      int64  \n',
' 1   text_col   5 non-null      object \n',
' 2   float_col  5 non-null      float64\n',
'dtypes: float64(1), int64(1), object(1)']
def info(self, verbose: Optional[bool]=None, buf: Optional[IO[str]]=None, max_cols: Optional[int]=None, null_counts: Optional[bool]=None) -> None:
    '\n        Print a concise summary of a DataFrame.\n\n        This method prints information about a DataFrame including\n        the index dtype and column dtypes, non-null values and memory usage.\n\n        Parameters\n        ----------\n        verbose : bool, optional\n            Whether to print the full summary.\n        buf : writable buffer, defaults to sys.stdout\n            Where to send the output. By default, the output is printed to\n            sys.stdout. Pass a writable buffer if you need to further process\n            the output.\n        max_cols : int, optional\n            When to switch from the verbose to the truncated output. If the\n            DataFrame has more than `max_cols` columns, the truncated output\n            is used.\n        null_counts : bool, optional\n            Whether to show the non-null counts.\n\n        Returns\n        -------\n        None\n            This method prints a summary of a DataFrame and returns None.\n\n        See Also\n        --------\n        DataFrame.describe: Generate descriptive statistics of DataFrame\n            columns.\n\n        Examples\n        --------\n        >>> int_values = [1, 2, 3, 4, 5]\n        >>> text_values = [\'alpha\', \'beta\', \'gamma\', \'delta\', \'epsilon\']\n        >>> float_values = [0.0, 0.25, 0.5, 0.75, 1.0]\n        >>> df = ps.DataFrame(\n        ...     {"int_col": int_values, "text_col": text_values, "float_col": float_values},\n        ...     columns=[\'int_col\', \'text_col\', \'float_col\'])\n        >>> df\n           int_col text_col  float_col\n        0        1    alpha       0.00\n        1        2     beta       0.25\n        2        3    gamma       0.50\n        3        4    delta       0.75\n        4        5  epsilon       1.00\n\n        Prints information of all columns:\n\n        >>> df.info(verbose=True)  # doctest: +SKIP\n        <class \'pyspark.pandas.frame.DataFrame\'>\n        Index: 5 entries, 0 to 4\n        Data columns (total 3 columns):\n         #   Column     Non-Null Count  Dtype\n        ---  ------     --------------  -----\n         0   int_col    5 non-null      int64\n         1   text_col   5 non-null      object\n         2   float_col  5 non-null      float64\n        dtypes: float64(1), int64(1), object(1)\n\n        Prints a summary of columns count and its dtypes but not per column\n        information:\n\n        >>> df.info(verbose=False)  # doctest: +SKIP\n        <class \'pyspark.pandas.frame.DataFrame\'>\n        Index: 5 entries, 0 to 4\n        Columns: 3 entries, int_col to float_col\n        dtypes: float64(1), int64(1), object(1)\n\n        Pipe output of DataFrame.info to buffer instead of sys.stdout, get\n        buffer content and writes to a text file:\n\n        >>> import io\n        >>> buffer = io.StringIO()\n        >>> df.info(buf=buffer)\n        >>> s = buffer.getvalue()\n        >>> with open(\'%s/info.txt\' % path, "w",\n        ...           encoding="utf-8") as f:\n        ...     _ = f.write(s)\n        >>> with open(\'%s/info.txt\' % path) as f:\n        ...     f.readlines()  # doctest: +SKIP\n        ["<class \'pyspark.pandas.frame.DataFrame\'>\\n",\n        \'Index: 5 entries, 0 to 4\\n\',\n        \'Data columns (total 3 columns):\\n\',\n        \' #   Column     Non-Null Count  Dtype  \\n\',\n        \'---  ------     --------------  -----  \\n\',\n        \' 0   int_col    5 non-null      int64  \\n\',\n        \' 1   text_col   5 non-null      object \\n\',\n        \' 2   float_col  5 non-null      float64\\n\',\n        \'dtypes: float64(1), int64(1), object(1)\']\n        '
    with pd.option_context('display.max_info_columns', sys.maxsize, 'display.max_info_rows', sys.maxsize):
        try:
            object.__setattr__(self, '_data', self)
            count_func = self.count
            self.count = (lambda : count_func()._to_pandas())
            return pd.DataFrame.info(self, verbose=verbose, buf=buf, max_cols=max_cols, memory_usage=False, null_counts=null_counts)
        finally:
            del self._data
            self.count = count_func