Python Pandas - Create a PeriodIndex and get the day of the month

PythonServer Side ProgrammingProgramming

To create a PeriodIndex, use the pandas.PeriodIndex() method. Get the days of the month using the PeriodIndex.daysinmonth property

At first, import the required libraries −

import pandas as pd

Create a PeriodIndex object. PeriodIndex is an immutable ndarray holding ordinal values indicating regular periods in time. We have set the frequency using the "freq" parameter −

periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

Display PeriodIndex object −

print("PeriodIndex...\n", periodIndex)

Display days in the specific month from the PeriodIndex object −

print("\nDays of the specific month from the PeriodIndex...\n", periodIndex.daysinmonth)

Example

Following is the code −

import pandas as pd

# Create a PeriodIndex object
# PeriodIndex is an immutable ndarray holding ordinal values indicating regular periods in time
# We have set the frequency using the "freq" parameter
periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

# Display PeriodIndex object
print("PeriodIndex...\n", periodIndex)

# Display PeriodIndex frequency
print("\nPeriodIndex frequency...\n", periodIndex.freq)

# Display the month number i.e. 1 = January, 2 = February ... 12 = December
print("\nMonth number...\n", periodIndex.month)

# Display days in the specific month from the PeriodIndex object
print("\nDays of the specific month from the PeriodIndex...\n", periodIndex.daysinmonth)

Output

This will produce the following code −

PeriodIndex...
PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20', '2021-09-15', '2022-03-12', '2023-06-18'],
dtype='period[D]')

PeriodIndex frequency...
<Day>

Month number...
Int64Index([7, 10, 11, 9, 3, 6], dtype='int64')

Days of the specific month from the PeriodIndex...
Int64Index([31, 31, 30, 30, 31, 30], dtype='int64')
raja
Updated on 20-Oct-2021 11:34:42

Advertisements