Skip to main content
`Ctrl`+`K`

# pandas.DataFrame.to_period

DataFrame.to_period(freq=None, axis=0, copy=<no_default>)

  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:
    freq str, default

      Frequency of the PeriodIndex.

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

      The axis to convert (the index by default).

    copy bool, default False

      This keyword is now ignored; changing its value will have no impact on the method.

      Deprecated since version 3.0.0: This keyword is ignored and will be removed in pandas 4.0. Since pandas 3.0, this method always returns a new object using a lazy copy mechanism that defers copies until necessary (Copy-on-Write). See the user guide on Copy-on-Write for more details.

  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[us]', 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]')