@@ -4711,29 +4711,7 @@ _lite_rule_alias = {
4711
4711
" ns" : " ns" ,
4712
4712
}
4713
4713
4714
- _dont_uppercase = {
4715
- " h" ,
4716
- " bh" ,
4717
- " cbh" ,
4718
- " MS" ,
4719
- " ms" ,
4720
- " s" ,
4721
- " me" ,
4722
- " qe" ,
4723
- " qe-dec" ,
4724
- " qe-jan" ,
4725
- " qe-feb" ,
4726
- " qe-mar" ,
4727
- " qe-apr" ,
4728
- " qe-may" ,
4729
- " qe-jun" ,
4730
- " qe-jul" ,
4731
- " qe-aug" ,
4732
- " qe-sep" ,
4733
- " qe-oct" ,
4734
- " qe-nov" ,
4735
- " ye" ,
4736
- }
4714
+ _dont_uppercase = _dont_uppercase = {" h" , " bh" , " cbh" , " MS" , " ms" , " s" }
4737
4715
4738
4716
4739
4717
INVALID_FREQ_ERR_MSG = " Invalid frequency: {0}"
@@ -4752,7 +4730,29 @@ def _get_offset(name: str) -> BaseOffset:
4752
4730
--------
4753
4731
_get_offset('EOM') --> BMonthEnd(1)
4754
4732
"""
4755
- if name.lower() not in _dont_uppercase:
4733
+ if (
4734
+ name not in _lite_rule_alias
4735
+ and (name.upper() in _lite_rule_alias )
4736
+ and name != "ms"
4737
+ ):
4738
+ warnings.warn(
4739
+ f" \' {name}\' is deprecated and will be removed "
4740
+ f" in a future version, please use \' {name.upper()}\' instead." ,
4741
+ FutureWarning ,
4742
+ stacklevel = find_stack_level(),
4743
+ )
4744
+ elif (
4745
+ name not in _lite_rule_alias
4746
+ and (name.lower() in _lite_rule_alias)
4747
+ and name != " MS"
4748
+ ):
4749
+ warnings.warn(
4750
+ f" \' {name}\' is deprecated and will be removed "
4751
+ f" in a future version, please use \' {name.lower()}\' instead." ,
4752
+ FutureWarning ,
4753
+ stacklevel = find_stack_level(),
4754
+ )
4755
+ if name not in _dont_uppercase:
4756
4756
name = name.upper()
4757
4757
name = _lite_rule_alias.get(name, name)
4758
4758
name = _lite_rule_alias.get(name.lower(), name)
@@ -4845,7 +4845,7 @@ cpdef to_offset(freq, bint is_period=False):
4845
4845
4846
4846
tups = zip (split[0 ::4 ], split[1 ::4 ], split[2 ::4 ])
4847
4847
for n, (sep, stride, name) in enumerate (tups):
4848
- if is_period is False and name.upper() in c_OFFSET_DEPR_FREQSTR:
4848
+ if not is_period and name.upper() in c_OFFSET_DEPR_FREQSTR:
4849
4849
warnings.warn(
4850
4850
f" \' {name}\' is deprecated and will be removed "
4851
4851
f" in a future version, please use "
@@ -4854,31 +4854,52 @@ cpdef to_offset(freq, bint is_period=False):
4854
4854
stacklevel = find_stack_level(),
4855
4855
)
4856
4856
name = c_OFFSET_DEPR_FREQSTR[name.upper()]
4857
- if is_period is True and name in c_REVERSE_OFFSET_DEPR_FREQSTR:
4858
- if name.startswith(" Y" ):
4857
+ if (not is_period and
4858
+ name != name.upper() and
4859
+ name.lower() not in {" s" , " ms" , " us" , " ns" } and
4860
+ name.upper().split(" -" )[0 ].endswith((" S" , " E" ))):
4861
+ warnings.warn(
4862
+ f" \' {name}\' is deprecated and will be removed "
4863
+ f" in a future version, please use "
4864
+ f" \' {name.upper()}\' instead." ,
4865
+ FutureWarning ,
4866
+ stacklevel = find_stack_level(),
4867
+ )
4868
+ name = name.upper()
4869
+ if is_period and name.upper() in c_REVERSE_OFFSET_DEPR_FREQSTR:
4870
+ if name.upper().startswith(" Y" ):
4859
4871
raise ValueError (
4860
- f" for Period, please use \' Y{name[2:]}\' "
4872
+ f" for Period, please use \' Y{name.upper() [2:]}\' "
4861
4873
f" instead of \' {name}\' "
4862
4874
)
4863
- if (name.startswith(" B" ) or
4864
- name.startswith(" S" ) or name.startswith(" C" )):
4875
+ if (name.upper().startswith(" B" ) or
4876
+ name.upper().startswith(" S" ) or
4877
+ name.upper().startswith(" C" )):
4865
4878
raise ValueError (INVALID_FREQ_ERR_MSG.format(name))
4866
4879
else :
4867
4880
raise ValueError (
4868
4881
f" for Period, please use "
4869
- f" \' {c_REVERSE_OFFSET_DEPR_FREQSTR.get(name)}\' "
4882
+ f" \' {c_REVERSE_OFFSET_DEPR_FREQSTR.get(name.upper() )}\' "
4870
4883
f" instead of \' {name}\' "
4871
4884
)
4872
- elif is_period is True and name in c_OFFSET_DEPR_FREQSTR:
4873
- if name.startswith(" A" ):
4885
+ elif is_period and name.upper() in c_OFFSET_DEPR_FREQSTR:
4886
+ if name.upper(). startswith(" A" ):
4874
4887
warnings.warn(
4875
4888
f" \' {name}\' is deprecated and will be removed in a future "
4876
- f" version, please use \' {c_DEPR_ABBREVS.get(name)}\' "
4889
+ f" version, please use "
4890
+ f" \' {c_DEPR_ABBREVS.get(name.upper())}\' instead." ,
4891
+ FutureWarning ,
4892
+ stacklevel = find_stack_level(),
4893
+ )
4894
+ if name.upper() != name:
4895
+ warnings.warn(
4896
+ f" \' {name}\' is deprecated and will be removed in "
4897
+ f" a future version, please use \' {name.upper()}\' "
4877
4898
f" instead." ,
4878
4899
FutureWarning ,
4879
4900
stacklevel = find_stack_level(),
4880
4901
)
4881
- name = c_OFFSET_DEPR_FREQSTR.get(name)
4902
+ name = c_OFFSET_DEPR_FREQSTR.get(name.upper() )
4882
4903
4883
4904
if sep != " " and not sep.isspace():
4884
4905
raise ValueError (" separator must be spaces" )
0 commit comments