The Pandas dt.to_period() method converts the underlying data of the given Series object to PeriodArray/Index at a particular frequency.
It is used to convert a DateTime series to a period series with a specific frequency, such as daily, monthly, quarterly, or yearly periods.
Example
import pandas as pd
sr = pd.Series(['2012-12-31', '2019-1-1 12:30', '2008-02-2 10:30',
'2010-1-1 09:25', '2019-12-31 00:00'])
idx = ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5']
sr.index = idx
sr = pd.to_datetime(sr)
result = sr.dt.to_period(freq = 'W')
print(result)
Output:
Syntax
Syntax: Series.dt.to_period(freq)
Parameter
- freq : string or Offset, optional
Returns: The original Series cast to PeriodArray/Index at the specified frequency
How to Convert a Pandas DateTime Series to a Period Series
To convert a Pandas DateTime Series to a Period series we use the dt.to_period() method of the Pandas library in Python.
Let us understand it better with an example:
Example
Use the dt.to_period() function to cast the underlying data of the given series object to Index at two-year frequency.
# importing pandas as pd
import pandas as pd
# Creating the Series
sr = pd.Series(pd.date_range('2012-12-31 00:00', periods = 5, freq = 'D',
tz = 'US / Central'))
# Creating the index
idx = ['Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5']
# set the index
sr.index = idx
# Print the series
print(sr)
Output:

Now we can use dt.to_period() method to convert it to period format
# cast to target frequency
result = sr.dt.to_period(freq = '2Y')
# print the result
print(result)
Output:

As we can see in the output, the Series.dt.to_period() function has successfully cast the data to the target frequency.