Display all the Sundays of given year using Pandas in Python

Let’s see how to display all the Sundays of a given year using Pandas. We will be using the date_range() function of the Pandas module.

Algorithm :

  1. Import the pandas module.
  2. Fetch all the Sundays using the date_range() function, the parameters are :
    • In order to display Sundays of 2020, start parameter is set as 2020-01-01.
    • The parameter periods is set to 52 as there are approximately 52 weeks in a year.
    • The parameter freq is set to W-SUN where W refers to weekly and SUN refers to Sunday.
  3. Print the fetched DateTimeIndex object.




# 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)


Output :

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)


Output :

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]


Contact Us