Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Python Pandas - How to convert DateTimeIndex to Period
To convert DateTimeIndex to Period, use the datetimeindex.to_period() method in Pandas. The frequency is set using the freq parameter.
Creating a DateTimeIndex
First, let's create a DateTimeIndex with specific period and frequency ?
import pandas as pd
# Create DatetimeIndex with period 5 and frequency as 2 years
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, freq='2Y')
print("DateTimeIndex...")
print(datetimeindex)
print("\nDateTimeIndex frequency...")
print(datetimeindex.freq)
DateTimeIndex...
DatetimeIndex(['2021-12-31 07:20:32.261811624',
'2023-12-31 07:20:32.261811624',
'2025-12-31 07:20:32.261811624',
'2027-12-31 07:20:32.261811624',
'2029-12-31 07:20:32.261811624'],
dtype='datetime64[ns]', freq='2A-DEC')
DateTimeIndex frequency...
<2 * YearEnds: month=12>
Converting to Period with Monthly Frequency
Convert DateTimeIndex to Period using the to_period() method with monthly frequency ?
import pandas as pd
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, freq='2Y')
# Convert DateTimeIndex to Period with monthly frequency
period_index = datetimeindex.to_period(freq='M')
print("Convert DateTimeIndex to Period...")
print(period_index)
Convert DateTimeIndex to Period... PeriodIndex(['2021-12', '2023-12', '2025-12', '2027-12', '2029-12'], dtype='period[M]')
Different Frequency Options
You can convert to different period frequencies like yearly, quarterly, or daily ?
import pandas as pd
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=3, freq='6M')
print("Original DateTimeIndex:")
print(datetimeindex)
print("\nYearly Period:")
print(datetimeindex.to_period(freq='Y'))
print("\nQuarterly Period:")
print(datetimeindex.to_period(freq='Q'))
print("\nDaily Period:")
print(datetimeindex.to_period(freq='D'))
Original DateTimeIndex:
DatetimeIndex(['2021-10-31 07:20:32.261811624',
'2022-04-30 07:20:32.261811624',
'2022-10-31 07:20:32.261811624'],
dtype='datetime64[ns]', freq='6M')
Yearly Period:
PeriodIndex(['2021', '2022', '2022'], dtype='period[A-DEC]')
Quarterly Period:
PeriodIndex(['2021Q4', '2022Q2', '2022Q4'], dtype='period[Q-DEC]')
Daily Period:
PeriodIndex(['2021-10-31', '2022-04-30', '2022-10-31'], dtype='period[D]')
Conclusion
Use to_period() method to convert DateTimeIndex to Period with specified frequency. This is useful for time series analysis where you need to group data by specific time periods like months, quarters, or years.
Advertisements
