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
Python Pandas - Extract the frequency from the DateTimeIndex
To extract the frequency from the DateTimeIndex, use the DateTimeIndex.freq property in Pandas. This property returns the frequency object associated with the DateTimeIndex, which is useful for understanding the time intervals between consecutive dates.
Syntax
DateTimeIndex.freq
Creating a DateTimeIndex with Frequency
First, let's create a DateTimeIndex with a specific frequency to demonstrate the extraction ?
import pandas as pd
# Create DateTimeIndex with period 6 and frequency as D (day)
# The timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')
# Display DateTimeIndex
print("DateTimeIndex...")
print(datetimeindex)
DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+10:30', '2021-10-21 02:30:50+10:30',
'2021-10-22 02:30:50+10:30', '2021-10-23 02:30:50+10:30',
'2021-10-24 02:30:50+10:30', '2021-10-25 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='D')
Extracting the Frequency
Now we can extract the frequency using the freq property ?
import pandas as pd
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Adelaide', freq='D')
# Extract and display the frequency
print("DateTimeIndex frequency:")
print(datetimeindex.freq)
print("Frequency type:", type(datetimeindex.freq))
DateTimeIndex frequency: <Day> Frequency type: <class 'pandas._libs.tslibs.offsets.Day'>
Different Frequency Examples
Let's explore different frequency types and their extracted values ?
import pandas as pd
# Hourly frequency
hourly_index = pd.date_range('2021-10-20', periods=4, freq='H')
print("Hourly frequency:", hourly_index.freq)
# Weekly frequency
weekly_index = pd.date_range('2021-10-20', periods=4, freq='W')
print("Weekly frequency:", weekly_index.freq)
# Monthly frequency
monthly_index = pd.date_range('2021-10-20', periods=4, freq='M')
print("Monthly frequency:", monthly_index.freq)
Hourly frequency: <Hour> Weekly frequency: <Week: weekday=6> Monthly frequency: <MonthEnd>
Important Notes
The frequency property returns None if the DateTimeIndex doesn't have a regular frequency or was created without specifying one ?
import pandas as pd
# Create DateTimeIndex without regular frequency
irregular_dates = pd.DatetimeIndex(['2021-10-20', '2021-10-22', '2021-10-25'])
print("Irregular DateTimeIndex frequency:", irregular_dates.freq)
Irregular DateTimeIndex frequency: None
Conclusion
The DateTimeIndex.freq property is essential for extracting frequency information from time series data. It returns the frequency object for regular intervals or None for irregular DateTimeIndex objects.
