pandas.DataFrame.to_period#

DataFrame.to_period(freq=None, axis=0, copy=<no_default>)[source] #

Convert DataFrame from DatetimeIndex to PeriodIndex.

Convert DataFrame from DatetimeIndex to PeriodIndex with desired frequency (inferred from index if not passed). Either index of columns can be converted, depending on axis argument.

Parameters:
freqstr, default

Frequency of the PeriodIndex.

axis{0 or ‘index’, 1 or ‘columns’}, default 0

The axis to convert (the index by default).

copybool, default False

If False then underlying input data is not copied.

Note

The copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.

You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True

Deprecated since version 3.0.0.

Returns:
DataFrame

The DataFrame with the converted PeriodIndex.

See also

Series.to_period

Equivalent method for Series.

Series.dt.to_period

Convert DateTime column values.

Examples

>>> idx = pd.to_datetime(
...  [
...  "2001年03月31日 00:00:00",
...  "2002年05月31日 00:00:00",
...  "2003年08月31日 00:00:00",
...  ]
... )
>>> idx
DatetimeIndex(['2001年03月31日', '2002年05月31日', '2003年08月31日'],
dtype='datetime64[s]', freq=None)
>>> idx.to_period("M")
PeriodIndex(['2001-03', '2002-05', '2003-08'], dtype='period[M]')

For the yearly frequency

>>> idx.to_period("Y")
PeriodIndex(['2001', '2002', '2003'], dtype='period[Y-DEC]')
On this page

This Page