Python Pandas - Check if the given DateOffset is Anchored

To check if a DateOffset is anchored in Pandas, use the is_anchored() method. An anchored offset is one that represents a specific point in time (like weekly on Tuesday), while non-anchored offsets represent relative time periods (like 3 days).

What is an Anchored DateOffset?

An anchored DateOffset has a fixed reference point. For example:

  • W-TUE (weekly on Tuesday) - anchored
  • M (month end) - anchored
  • 3D (3 days) - not anchored

Checking if DateOffset is Anchored

Here's how to check if a DateOffset is anchored ?

import pandas as pd
from pandas.tseries.frequencies import to_offset

# Create an anchored offset (weekly on Tuesday)
anchored_offset = to_offset("W-TUE")
print("Anchored offset:", anchored_offset)
print("Is anchored:", anchored_offset.is_anchored())

print()

# Create a non-anchored offset (3 days)
non_anchored_offset = to_offset("3D")
print("Non-anchored offset:", non_anchored_offset)
print("Is anchored:", non_anchored_offset.is_anchored())
Anchored offset: <Week: weekday=1>
Is anchored: True

Non-anchored offset: <3 * Days>
Is anchored: False

Example with Timestamp Operations

Let's see how anchored offsets work with timestamps ?

import pandas as pd
from pandas.tseries.frequencies import to_offset

# Set the timestamp object
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')
print("Original Timestamp:", timestamp)

# Create an anchored offset (weekly on Tuesday)
offset = to_offset("W-TUE")
print("DateOffset:", offset)

# Add offset to timestamp
updated_timestamp = timestamp + offset
print("Updated Timestamp:", updated_timestamp)

# Check if the offset is anchored
print("Is DateOffset anchored?", offset.is_anchored())
Original Timestamp: 2021-09-26 03:25:02.000045
DateOffset: <Week: weekday=1>
Updated Timestamp: 2021-09-28 03:25:02.000045
Is DateOffset anchored? True

Comparison of Different Offset Types

Offset Description Is Anchored?
W-TUE Weekly on Tuesday True
M Month end True
3D 3 days False
H Hourly False

Conclusion

Use is_anchored() to determine if a DateOffset represents a fixed point in time. Anchored offsets like W-TUE or M return True, while relative offsets like 3D return False.

Updated on: 2026-03-26T18:07:17+05:30

160 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements