def to_frame(self, index=True, name=None):
from pandas import DataFrame<EOL>if name is None:<EOL><INDENT>name = self.name or <NUM_LIT:0><EOL><DEDENT>result = DataFrame({name: self._values.copy()})<EOL>if index:<EOL><INDENT>result.index = self<EOL><DEDENT>return result<EOL>
Create a DataFrame with a column containing the Index.

.. versionadded:: 0.24.0

Parameters
----------
index : boolean, default True
    Set the index of the returned DataFrame as the original Index.

name : object, default None
    The passed name should substitute for the index name (if it has
    one).

Returns
-------
DataFrame
    DataFrame containing the original Index data.

See Also
--------
Index.to_series : Convert an Index to a Series.
Series.to_frame : Convert Series to DataFrame.

Examples
--------
>>> idx = pd.Index(['Ant', 'Bear', 'Cow'], name='animal')
>>> idx.to_frame()
       animal
animal
Ant       Ant
Bear     Bear
Cow       Cow

By default, the original Index is reused. To enforce a new Index:

>>> idx.to_frame(index=False)
    animal
0   Ant
1  Bear
2   Cow

To override the name of the resulting column, specify `name`:

>>> idx.to_frame(index=False, name='zoo')
    zoo
0   Ant
1  Bear
2   Cow