pandas.DataFrame.to_timestamp — pandas 3.0.0rc0+31.g944c527c0a documentation (original) (raw)

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

Cast PeriodIndex to DatetimeIndex of timestamps, at beginning of period.

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

Parameters:

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

The axis to convert (the index by default).

copybool, 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-Writefor more details.

Returns:

DataFrame with DatetimeIndex

DataFrame with the PeriodIndex cast to DatetimeIndex.

Examples

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)