Let's see how to display all the Sundays of a given year using Pandas. We will be using the
python3
Output :
python3
Output :
Python3
date_range() function of the Pandas module.
Algorithm :
- Import the
pandasmodule. - Fetch all the Sundays using the
date_range()function, the parameters are :- In order to display Sundays of 2020,
startparameter is set as 2020-01-01. - The parameter
periodsis set to 52 as there are approximately 52 weeks in a year. - The parameter
freqis set to W-SUN where W refers to weekly and SUN refers to Sunday.
- In order to display Sundays of 2020,
- Print the fetched
DateTimeIndexobject.
# importing the module
import pandas as pd
# target year
year = "2020"
# instantiating the parameters
start = year + "-01-01"
periods = 52
freq = "W-SUN"
# fetching the Sundays
sundays = pd.date_range(start = start,
periods = periods,
freq = freq)
# printing the Sundays
print(sundays)
DatetimeIndex(['2020-01-05', '2020-01-12', '2020-01-19', '2020-01-26', '2020-02-02', '2020-02-09', '2020-02-16', '2020-02-23', '2020-03-01', '2020-03-08', '2020-03-15', '2020-03-22', '2020-03-29', '2020-04-05', '2020-04-12', '2020-04-19', '2020-04-26', '2020-05-03', '2020-05-10', '2020-05-17', '2020-05-24', '2020-05-31', '2020-06-07', '2020-06-14', '2020-06-21', '2020-06-28', '2020-07-05', '2020-07-12', '2020-07-19', '2020-07-26', '2020-08-02', '2020-08-09', '2020-08-16', '2020-08-23', '2020-08-30', '2020-09-06', '2020-09-13', '2020-09-20', '2020-09-27', '2020-10-04', '2020-10-11', '2020-10-18', '2020-10-25', '2020-11-01', '2020-11-08', '2020-11-15', '2020-11-22', '2020-11-29', '2020-12-06', '2020-12-13', '2020-12-20', '2020-12-27'], dtype='datetime64[ns]', freq='W-SUN')If we want to fetch any other day instead of Sunday, we can tweak the above program by changing the parameter
freq to the desired day.
# importing the module
import pandas as pd
# target year
year = "2020"
# day to be fetched
day = "MON"
# instantiating the parameters
start = year + "-01-01"
periods = 52
freq = "W-" + day
# fetching the days
days = pd.date_range(start = start,
periods = periods,
freq = freq)
# printing the days
print(days)
DatetimeIndex(['2020-01-06', '2020-01-13', '2020-01-20', '2020-01-27', '2020-02-03', '2020-02-10', '2020-02-17', '2020-02-24', '2020-03-02', '2020-03-09', '2020-03-16', '2020-03-23', '2020-03-30', '2020-04-06', '2020-04-13', '2020-04-20', '2020-04-27', '2020-05-04', '2020-05-11', '2020-05-18', '2020-05-25', '2020-06-01', '2020-06-08', '2020-06-15', '2020-06-22', '2020-06-29', '2020-07-06', '2020-07-13', '2020-07-20', '2020-07-27', '2020-08-03', '2020-08-10', '2020-08-17', '2020-08-24', '2020-08-31', '2020-09-07', '2020-09-14', '2020-09-21', '2020-09-28', '2020-10-05', '2020-10-12', '2020-10-19', '2020-10-26', '2020-11-02', '2020-11-09', '2020-11-16', '2020-11-23', '2020-11-30', '2020-12-07', '2020-12-14', '2020-12-21', '2020-12-28'], dtype='datetime64[ns]', freq='W-MON')We may convert the
DateTimeIndex object to a Series object to get a list of the days to be fetched.
# importing the module
import pandas as pd
# target year
year = "2020"
# day to be fetched
day = "WED"
# instantiating the parameters
start = year + "-01-01"
periods = 52
freq = "W-" + day
# fetching the days
days = pd.Series(pd.date_range(start = start,
periods = periods,
freq = freq))
# printing the days
print(days)
Output :
0 2020-01-01 1 2020-01-08 2 2020-01-15 3 2020-01-22 4 2020-01-29 5 2020-02-05 6 2020-02-12 7 2020-02-19 8 2020-02-26 9 2020-03-04 10 2020-03-11 11 2020-03-18 12 2020-03-25 13 2020-04-01 14 2020-04-08 15 2020-04-15 16 2020-04-22 17 2020-04-29 18 2020-05-06 19 2020-05-13 20 2020-05-20 21 2020-05-27 22 2020-06-03 23 2020-06-10 24 2020-06-17 25 2020-06-24 26 2020-07-01 27 2020-07-08 28 2020-07-15 29 2020-07-22 30 2020-07-29 31 2020-08-05 32 2020-08-12 33 2020-08-19 34 2020-08-26 35 2020-09-02 36 2020-09-09 37 2020-09-16 38 2020-09-23 39 2020-09-30 40 2020-10-07 41 2020-10-14 42 2020-10-21 43 2020-10-28 44 2020-11-04 45 2020-11-11 46 2020-11-18 47 2020-11-25 48 2020-12-02 49 2020-12-09 50 2020-12-16 51 2020-12-23 dtype: datetime64[ns]