Python Pandas - Check whether the BusinessDay Offset has been normalized or not

To check whether the BusinessDay Offset has been normalized or not, use the normalize property in Pandas. When normalized, the offset resets the time component to midnight (00:00:00).

What is Normalization?

Normalization in Pandas date offsets sets the time component to midnight, keeping only the date part. This is useful when you want to work with dates without considering specific times.

Creating a Normalized BusinessDay Offset

First, import the required libraries and create a timestamp ?

import datetime
import pandas as pd

# Set the timestamp object in Pandas
timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

# Display the original Timestamp
print("Original Timestamp:")
print(timestamp)
Original Timestamp:
2021-10-30 01:55:02.000045

Creating BusinessDay Offset with Normalization

Create a BusinessDay offset with the normalize=True parameter ?

import datetime
import pandas as pd

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

# Create the BusinessDay Offset with normalization
bdOffset = pd.tseries.offsets.BusinessDay(
    offset=datetime.timedelta(hours=8, minutes=10), 
    normalize=True
)

print("BusinessDay Offset:")
print(bdOffset)

# Display the Updated Timestamp
print("\nUpdated Timestamp:")
print(timestamp + bdOffset)

# Check if the BusinessDay Offset is normalized
print("\nIs BusinessDay Offset normalized?")
print(bdOffset.normalize)
BusinessDay Offset:
<BusinessDay: offset=datetime.timedelta(seconds=29400)>

Updated Timestamp:
2021-11-01 00:00:00

Is BusinessDay Offset normalized?
True

Comparing Normalized vs Non-Normalized

Let's compare the behavior of normalized and non-normalized BusinessDay offsets ?

import datetime
import pandas as pd

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

# Non-normalized BusinessDay offset
bd_normal = pd.tseries.offsets.BusinessDay(normalize=False)
# Normalized BusinessDay offset  
bd_normalized = pd.tseries.offsets.BusinessDay(normalize=True)

print("Original timestamp:")
print(timestamp)
print("\nWith non-normalized offset:")
print(timestamp + bd_normal)
print("Normalize property:", bd_normal.normalize)

print("\nWith normalized offset:")
print(timestamp + bd_normalized)
print("Normalize property:", bd_normalized.normalize)
Original timestamp:
2021-10-30 01:55:02.000045

With non-normalized offset:
2021-11-01 01:55:02.000045

With normalized offset:
2021-11-01 00:00:00
Normalize property: False

Normalize property: True

Key Properties

BusinessDay offsets have several useful properties for inspection ?

import datetime
import pandas as pd

bdOffset = pd.tseries.offsets.BusinessDay(normalize=True)

print("Frequency string:", bdOffset.freqstr)
print("Name:", bdOffset.name) 
print("Is normalized:", bdOffset.normalize)
Frequency string: B
Name: B
Is normalized: True

Conclusion

Use the normalize property to check if a BusinessDay offset normalizes timestamps to midnight. Normalized offsets are useful when you need consistent date-only operations without time components affecting calculations.

Updated on: 2026-03-26T18:08:14+05:30

183 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements