Open In App

Extract week number from date in Pandas-Python

Improve
Improve
Like Article
Like
Save
Share
Report

Many times, when working with some data containing dates we may need to extract the week number from a particular date. In Python, it can be easily done with the help of pandas. Example 1: 

Python3




# importing pandas as pd
import pandas as pd
 
# creating a dictionary containing a date
dict = {'Date':["2015-06-17"]}
 
# converting the dictionary to a dataframe
df = pd.DataFrame.from_dict(dict)
 
# converting the date to the required format
df['Date'] = pd.to_datetime(df['Date'], errors ='coerce')
df.astype('int64').dtypes
 
# extracting the week from the date
weekNumber = df['Date'].dt.week
 
print(weekNumber)


Output:

0    25
Name: Date, dtype: int64

Example 2: We can also do the same for multiple dates by adding more dates in the ‘Date’ object. 

Python3




# importing pandas as pd
import pandas as pd
 
# creating a dictionary containing a date
dict = {'Date':["2020-06-17", "2020-01-14",
                "2020-09-20", "2020-08-15"]}
 
# converting the dictionary to a
# dataframe
df = pd.DataFrame.from_dict(dict)
 
# converting the date to the required
# format
df['Date'] = pd.to_datetime(df['Date'],
                            errors ='coerce')
df.astype('int64').dtypes
 
# extracting the week from the date
weekNumber = df['Date'].dt.week
 
print(weekNumber)


Output: python-extract-week-number Example 3: Extracting week number from dates for multiple dates using date_range() and to_series().

  • pandas.data_range(): It generates all the dates from the start to end date Syntax:

pandas.date_range(start, end, periods, freq, tz, normalize, name, closed)

  • pandas.to_series(): It creates a Series with both index and values equal to the index keys. Syntax:
Index.to_series(self, index, name)

Python3




# importing pandas as pd
import pandas as pd
 
# generating all dates in given range
# with increment by days
allDates = pd.date_range('2020-06-27', '2020-08-03', freq ='W')
 
# converting dates to series
series = allDates.to_series()
 
series.dt.week


Output: pandas-extract-week-number-2 Example 4: In this example, we’ll be using pandas.Series() to generate dates and use a different way to convert the series to the dataframe. pandas.Series(): Used to create a one-dimensional array with axis labels. Syntax:

pandas.Series(data, index, dtype, name, copy, fastpath)

Python3




# importing pandas as pd
import pandas as pd
 
# generating the series
dates = pd.Series(pd.date_range('2020-2-10',
                                periods = 5,
                                freq ='M'))
 
# converting to dataframe
df = pd.DataFrame({'date_given': dates})
 
# extracting the week number
df['week_number'] = df['date_given'].dt.week
 
df


Output: pandas-extract-week-number-5



Last Updated : 23 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads