To extract the day of week from the DateTimeIndex with specific time series frequency, use the DateTimeIndex.dayofweek property
At first, import the required libraries −
import pandas as pd
Create a DatetimeIndex with period 6 and frequency as D i.e. day −
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='3D')
Display DateTimeIndex frequency −
print("DateTimeIndex frequency...\n", datetimeindex.freq)Get the day of week. It is assumed the week starts on Monday, which is denoted by 0 and ends on Sunday which is denoted by 6 −
print("\nGet the day of week..\n",datetimeindex.dayofweek)
Example
Following is the code −
import pandas as pd
# DatetimeIndex with period 6 and frequency as D i.e. day
# The timezone is Australia/Sydney
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='3D')
# display DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)
# display DateTimeIndex frequency
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# Get the day of week
# It is assumed the week starts on Monday,
# which is denoted by 0 and ends on Sunday which is denoted by 6
print("\nGet the day of week..\n",datetimeindex.dayofweek)Output
This will produce the following code −
DateTimeIndex... DatetimeIndex(['2021-10-20 02:30:50+11:00', '2021-10-23 02:30:50+11:00', '2021-10-26 02:30:50+11:00', '2021-10-29 02:30:50+11:00', '2021-11-01 02:30:50+11:00', '2021-11-04 02:30:50+11:00'], dtype='datetime64[ns, Australia/Sydney]', freq='3D') DateTimeIndex frequency... <3 * Days> Get the day of week.. Int64Index([2, 5, 1, 4, 0, 3], dtype='int64')