Series.to_timestamp(freq=None, how='start', copy=<no_default>)[source]#

Cast to DatetimeIndex of Timestamps, at beginning of period.

This can be changed to the end of the period, by specifying how=”e”.

freqstr, default frequency of PeriodIndex

Desired frequency.

how{‘s’, ‘e’, ‘start’, ‘end’}

Convention for converting period to timestamp; start of period vs. end.

copybool, default False

Whether or not to return a copy.


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.

Series with DatetimeIndex

Series with the PeriodIndex cast to DatetimeIndex.

See also


Inverse method to cast DatetimeIndex to PeriodIndex.


Equivalent method for DataFrame.


>>> idx = pd.PeriodIndex(["2023", "2024", "2025"], freq="Y")
>>> s1 = pd.Series([1, 2, 3], index=idx)
>>> s1
2023    1
2024    2
2025    3
Freq: Y-DEC, dtype: int64

The resulting frequency of the Timestamps is YearBegin

>>> s1 = s1.to_timestamp()
>>> s1
2023-01-01    1
2024-01-01    2
2025-01-01    3
Freq: YS-JAN, dtype: int64

Using freq which is the offset that the Timestamps will have

>>> s2 = pd.Series([1, 2, 3], index=idx)
>>> s2 = s2.to_timestamp(freq="M")
>>> s2
2023-01-31    1
2024-01-31    2
2025-01-31    3
Freq: YE-JAN, dtype: int64