Last active
December 28, 2018 21:17
-
-
Save waylan/baef93f58fb7acd7ff9b2ce4fd105a5b to your computer and use it in GitHub Desktop.
Use Pandas to get a range of start/end dates for all weeks of year
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
# "W-SUN" for Monday to Sunday week. Use "W-SAT" for Sunday to Saturday... | |
date_range = pd.period_range('1/1/2019', '12/31/2019', freq='W-SUN') | |
""" | |
>>> date_range | |
PeriodIndex(['2018-12-31/2019-01-06', '2019-01-07/2019-01-13', | |
'2019-01-14/2019-01-20', '2019-01-21/2019-01-27', | |
... | |
'2019-12-16/2019-12-22', '2019-12-23/2019-12-29', | |
'2019-12-30/2020-01-05'], | |
dtype='period[W-SUN]', freq='W-SUN') | |
""" | |
if date_range[0].start_time.year < 2019: | |
# The start time of the first week is in previous year so drop it. | |
date_range = date_range[1:] | |
formated_range = ['{}-{}'.format(p.start_time.strftime('%B %d'), p.end_time.strftime('%d')) for p in date_range] | |
""" | |
>>> formated_range | |
['January 07-13', 'January 14-20', 'January 21-27', 'January 28-03', | |
'February 04-10', 'February 11-17', 'February 18-24', 'February 25-03', | |
'March 04-10', 'March 11-17', 'March 18-24', 'March 25-31', 'April 01-07', | |
'April 08-14', 'April 15-21', 'April 22-28', 'April 29-05', 'May 06-12', | |
'May 13-19', 'May 20-26', 'May 27-02', 'June 03-09', 'June 10-16', | |
'June 17-23', 'June 24-30', 'July 01-07', 'July 08-14', 'July 15-21', | |
'July 22-28', 'July 29-04', 'August 05-11', 'August 12-18', 'August 19-25', | |
'August 26-01', 'September 02-08', 'September 09-15', 'September 16-22', | |
'September 23-29', 'September 30-06', 'October 07-13', 'October 14-20', | |
'October 21-27', 'October 28-03', 'November 04-10', 'November 11-17', | |
'November 18-24', 'November 25-01', 'December 02-08', 'December 09-15', | |
'December 16-22', 'December 23-29', 'December 30-05'] | |
""" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment