diff --git a/pandas/tseries/frequencies.py b/pandas/tseries/frequencies.py index 957a934d13f09..7b5003fe424ad 100644 --- a/pandas/tseries/frequencies.py +++ b/pandas/tseries/frequencies.py @@ -361,8 +361,8 @@ def _get_freq_str(base, mult=1): from pandas.tseries.offsets import (Nano, Micro, Milli, Second, # noqa - Minute, Hour, - Day, BDay, CDay, Week, MonthBegin, + Minute, Hour, Day, BDay, CDay, + WeekBegin, Week, MonthBegin, MonthEnd, BMonthBegin, BMonthEnd, QuarterBegin, QuarterEnd, BQuarterBegin, BQuarterEnd, YearBegin, YearEnd, @@ -398,6 +398,7 @@ def _get_freq_str(base, mult=1): 'Q': 'Q', 'A': 'A', 'W': 'W', + 'WS': 'W', 'M': 'M' } @@ -414,6 +415,7 @@ def _get_freq_str(base, mult=1): _days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'] for _d in _days: _offset_to_period_map['W-%s' % _d] = 'W-%s' % _d + _offset_to_period_map['WS-%s' % _d] = 'WS-%s' % _d def get_period_alias(offset_str): @@ -423,6 +425,7 @@ def get_period_alias(offset_str): _lite_rule_alias = { 'W': 'W-SUN', + 'WS': 'WS-MON', 'Q': 'Q-DEC', 'A': 'A-DEC', # YearEnd(month=12), diff --git a/pandas/tseries/offsets.py b/pandas/tseries/offsets.py index 79227f6de90a5..6f1696cba3dfe 100644 --- a/pandas/tseries/offsets.py +++ b/pandas/tseries/offsets.py @@ -24,7 +24,7 @@ 'YearBegin', 'BYearBegin', 'YearEnd', 'BYearEnd', 'QuarterBegin', 'BQuarterBegin', 'QuarterEnd', 'BQuarterEnd', 'LastWeekOfMonth', 'FY5253Quarter', 'FY5253', - 'Week', 'WeekOfMonth', 'Easter', + 'WeekBegin', 'Week', 'WeekOfMonth', 'Easter', 'Hour', 'Minute', 'Second', 'Milli', 'Micro', 'Nano', 'DateOffset'] @@ -1643,6 +1643,10 @@ def _from_name(cls, suffix=None): return cls(weekday=weekday) +class WeekBegin(Week): + _prefix = 'WS' + + class WeekDay(object): MON = 0 TUE = 1 @@ -2955,6 +2959,7 @@ def generate_range(start=None, end=None, periods=None, SemiMonthEnd, # 'SM' SemiMonthBegin, # 'SMS' Week, # 'W' + WeekBegin, # 'WS' Second, # 'S' Minute, # 'T' Micro, # 'U'