pandas.DataFrame.to_timestamp#
- 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
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 with DatetimeIndex
DataFrame with the PeriodIndex cast to DatetimeIndex.
See also
DataFrame.to_period
Inverse method to cast DatetimeIndex to PeriodIndex.
Series.to_timestamp
Equivalent method for Series.
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)