11from datetime import timedelta
2- from pandas .compat import range , long , zip
2+ from pandas .compat import long , zip
33from pandas import compat
44import re
55import warnings
@@ -356,34 +356,6 @@ def get_period_alias(offset_str):
356356 """ alias to closest period strings BQ->Q etc"""
357357 return _offset_to_period_map .get (offset_str , None )
358358
359- _rule_aliases = {
360- # Legacy rules that will continue to map to their original values
361- # essentially for the rest of time
362- 'WEEKDAY' : 'B' ,
363- 'EOM' : 'BM' ,
364- 'W@MON' : 'W-MON' ,
365- 'W@TUE' : 'W-TUE' ,
366- 'W@WED' : 'W-WED' ,
367- 'W@THU' : 'W-THU' ,
368- 'W@FRI' : 'W-FRI' ,
369- 'W@SAT' : 'W-SAT' ,
370- 'W@SUN' : 'W-SUN' ,
371- 'Q@JAN' : 'BQ-JAN' ,
372- 'Q@FEB' : 'BQ-FEB' ,
373- 'Q@MAR' : 'BQ-MAR' ,
374- 'A@JAN' : 'BA-JAN' ,
375- 'A@FEB' : 'BA-FEB' ,
376- 'A@MAR' : 'BA-MAR' ,
377- 'A@APR' : 'BA-APR' ,
378- 'A@MAY' : 'BA-MAY' ,
379- 'A@JUN' : 'BA-JUN' ,
380- 'A@JUL' : 'BA-JUL' ,
381- 'A@AUG' : 'BA-AUG' ,
382- 'A@SEP' : 'BA-SEP' ,
383- 'A@OCT' : 'BA-OCT' ,
384- 'A@NOV' : 'BA-NOV' ,
385- 'A@DEC' : 'BA-DEC' ,
386- }
387359
388360_lite_rule_alias = {
389361 'W' : 'W-SUN' ,
@@ -401,17 +373,6 @@ def get_period_alias(offset_str):
401373 'ns' : 'N'
402374}
403375
404- # TODO: Can this be killed?
405- for _i , _weekday in enumerate (['MON' , 'TUE' , 'WED' , 'THU' , 'FRI' ]):
406- for _iweek in range (4 ):
407- _name = 'WOM-%d%s' % (_iweek + 1 , _weekday )
408- _rule_aliases [_name .replace ('-' , '@' )] = _name
409-
410- # Note that _rule_aliases is not 1:1 (d[BA]==d[A@DEC]), and so traversal
411- # order matters when constructing an inverse. we pick one. #2331
412- # Used in get_legacy_offset_name
413- _legacy_reverse_map = dict ((v , k ) for k , v in
414- reversed (sorted (compat .iteritems (_rule_aliases ))))
415376
416377_name_to_offset_map = {'days' : Day (1 ),
417378 'hours' : Hour (1 ),
@@ -422,6 +383,9 @@ def get_period_alias(offset_str):
422383 'nanoseconds' : Nano (1 )}
423384
424385
386+ _INVALID_FREQ_ERROR = "Invalid frequency: {0}"
387+
388+
425389def to_offset (freqstr ):
426390 """
427391 Return DateOffset object from string representation or
@@ -460,7 +424,7 @@ def to_offset(freqstr):
460424 else :
461425 delta = delta + offset
462426 except Exception :
463- raise ValueError ("Could not evaluate %s" % freqstr )
427+ raise ValueError (_INVALID_FREQ_ERROR . format ( freqstr ) )
464428
465429 else :
466430 delta = None
@@ -479,10 +443,10 @@ def to_offset(freqstr):
479443 else :
480444 delta = delta + offset
481445 except Exception :
482- raise ValueError ("Could not evaluate %s" % freqstr )
446+ raise ValueError (_INVALID_FREQ_ERROR . format ( freqstr ) )
483447
484448 if delta is None :
485- raise ValueError ('Unable to understand %s as a frequency' % freqstr )
449+ raise ValueError (_INVALID_FREQ_ERROR . format ( freqstr ) )
486450
487451 return delta
488452
@@ -526,9 +490,6 @@ def get_base_alias(freqstr):
526490_dont_uppercase = set (('MS' , 'ms' ))
527491
528492
529- _LEGACY_FREQ_WARNING = 'Freq "{0}" is deprecated, use "{1}" as alternative.'
530-
531-
532493def get_offset (name ):
533494 """
534495 Return DateOffset object associated with rule name
@@ -539,27 +500,9 @@ def get_offset(name):
539500 """
540501 if name not in _dont_uppercase :
541502 name = name .upper ()
542-
543- if name in _rule_aliases :
544- new = _rule_aliases [name ]
545- warnings .warn (_LEGACY_FREQ_WARNING .format (name , new ),
546- FutureWarning , stacklevel = 2 )
547- name = new
548- elif name .lower () in _rule_aliases :
549- new = _rule_aliases [name .lower ()]
550- warnings .warn (_LEGACY_FREQ_WARNING .format (name , new ),
551- FutureWarning , stacklevel = 2 )
552- name = new
553-
554503 name = _lite_rule_alias .get (name , name )
555504 name = _lite_rule_alias .get (name .lower (), name )
556-
557505 else :
558- if name in _rule_aliases :
559- new = _rule_aliases [name ]
560- warnings .warn (_LEGACY_FREQ_WARNING .format (name , new ),
561- FutureWarning , stacklevel = 2 )
562- name = new
563506 name = _lite_rule_alias .get (name , name )
564507
565508 if name not in _offset_map :
@@ -571,7 +514,7 @@ def get_offset(name):
571514 offset = klass ._from_name (* split [1 :])
572515 except (ValueError , TypeError , KeyError ):
573516 # bad prefix or suffix
574- raise ValueError ('Bad rule name requested: %s.' % name )
517+ raise ValueError (_INVALID_FREQ_ERROR . format ( name ) )
575518 # cache
576519 _offset_map [name ] = offset
577520 # do not return cache because it's mutable
@@ -595,17 +538,6 @@ def get_offset_name(offset):
595538 return offset .freqstr
596539
597540
598- def get_legacy_offset_name (offset ):
599- """
600- Return the pre pandas 0.8.0 name for the date offset
601- """
602-
603- # This only used in test_timeseries_legacy.py
604-
605- name = offset .name
606- return _legacy_reverse_map .get (name , name )
607-
608-
609541def get_standard_freq (freq ):
610542 """
611543 Return the standardized frequency string
@@ -796,36 +728,18 @@ def _period_alias_dictionary():
796728
797729
798730def _period_str_to_code (freqstr ):
799- # hack
800- if freqstr in _rule_aliases :
801- new = _rule_aliases [freqstr ]
802- warnings .warn (_LEGACY_FREQ_WARNING .format (freqstr , new ),
803- FutureWarning , stacklevel = 3 )
804- freqstr = new
805731 freqstr = _lite_rule_alias .get (freqstr , freqstr )
806732
807733 if freqstr not in _dont_uppercase :
808734 lower = freqstr .lower ()
809- if lower in _rule_aliases :
810- new = _rule_aliases [lower ]
811- warnings .warn (_LEGACY_FREQ_WARNING .format (lower , new ),
812- FutureWarning , stacklevel = 3 )
813- freqstr = new
814735 freqstr = _lite_rule_alias .get (lower , freqstr )
815736
737+ if freqstr not in _dont_uppercase :
738+ freqstr = freqstr .upper ()
816739 try :
817- if freqstr not in _dont_uppercase :
818- freqstr = freqstr .upper ()
819740 return _period_code_map [freqstr ]
820741 except KeyError :
821- try :
822- alias = _period_alias_dict [freqstr ]
823- warnings .warn (_LEGACY_FREQ_WARNING .format (freqstr , alias ),
824- FutureWarning , stacklevel = 3 )
825- except KeyError :
826- raise ValueError ("Unknown freqstr: %s" % freqstr )
827-
828- return _period_code_map [alias ]
742+ raise ValueError (_INVALID_FREQ_ERROR .format (freqstr ))
829743
830744
831745def infer_freq (index , warn = True ):
0 commit comments