DataFrame.to_timestamp(freq=None, how='start')

Cast to DatetimeIndex of timestamps, at beginning of period.

This docstring was copied from pandas.core.frame.DataFrame.to_timestamp.

Some inconsistencies with the Dask version may exist.

freqstr, default frequency of PeriodIndex

Desired frequency.

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

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

axis{0 or ‘index’, 1 or ‘columns’}, default 0 (Not supported in Dask)

The axis to convert (the index by default).

copybool, default True (Not supported in Dask)

If False then underlying input data is not copied.


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


The DataFrame has a DatetimeIndex.


>>> idx = pd.PeriodIndex(['2023', '2024'], freq='Y')  
>>> d = {'col1': [1, 2], 'col2': [3, 4]}  
>>> df1 = pd.DataFrame(data=d, index=idx)  
>>> df1  
      col1   col2
2023     1      3
2024     2      4

The resulting timestamps will be at the beginning of the year in this case

>>> df1 = df1.to_timestamp()  
>>> df1  
            col1   col2
2023-01-01     1      3
2024-01-01     2      4
>>> df1.index  
DatetimeIndex(['2023-01-01', '2024-01-01'], dtype='datetime64[ns]', freq=None)

Using freq which is the offset that the Timestamps will have

>>> df2 = pd.DataFrame(data=d, index=idx)  
>>> df2 = df2.to_timestamp(freq='M')  
>>> df2  
            col1   col2
2023-01-31     1      3
2024-01-31     2      4
>>> df2.index  
DatetimeIndex(['2023-01-31', '2024-01-31'], dtype='datetime64[ns]', freq=None)