w3resource

Pandas: Create a period index represent all monthly boundaries of a given year

Pandas Time Series: Exercise-28 with Solution

Write a Pandas program to create a period index represent all monthly boundaries of a given year. Also print start and end time for each period object in the said index.

Sample Solution:

Python Code :

import pandas as pd
import datetime
from datetime import datetime, date
sdt = datetime(2020, 1, 1)
edt = datetime(2020, 12, 31)
dateset = pd.period_range(sdt, edt, freq='M')
print("All monthly boundaries of a given year:")
print(dateset) 
print("\nStart and end time for each period object in the said index:")
for d in dateset: 
    print ("{0} {1}".format(d.start_time, d.end_time)) 

Sample Output:

All monthly boundaries of a given year:
PeriodIndex(['2020-01', '2020-02', '2020-03', '2020-04', '2020-05', '2020-06',
             '2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12'],
            dtype='period[M]', freq='M')

Start and end time for each period object in the said index:
2020-01-01 00:00:00 2020-01-31 23:59:59.999999999
2020-02-01 00:00:00 2020-02-29 23:59:59.999999999
2020-03-01 00:00:00 2020-03-31 23:59:59.999999999
2020-04-01 00:00:00 2020-04-30 23:59:59.999999999
2020-05-01 00:00:00 2020-05-31 23:59:59.999999999
2020-06-01 00:00:00 2020-06-30 23:59:59.999999999
2020-07-01 00:00:00 2020-07-31 23:59:59.999999999
2020-08-01 00:00:00 2020-08-31 23:59:59.999999999
2020-09-01 00:00:00 2020-09-30 23:59:59.999999999
2020-10-01 00:00:00 2020-10-31 23:59:59.999999999
2020-11-01 00:00:00 2020-11-30 23:59:59.999999999
2020-12-01 00:00:00 2020-12-31 23:59:59.999999999

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to calculate one, two, three business day(s) from a specified date. Also find the next business month end from a specific date.
Next: Write a Pandas program create a series with a PeriodIndex which represents all the calendar month periods in 2029 and 2031. Also print the values for all periods in 2030.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Trenary operator:

>>> "Python ROCK" if True else " I AM GRUMPY"
"Python ROCK"