ENH: Create a 'Y' alias for date_range yearly frequency · rs2/pandas@9c096d2 (original) (raw)
`@@ -248,9 +248,10 @@ def test_anchored_shortcuts(self):
`
248
248
``
249
249
`# ensure invalid cases fail as expected
`
250
250
`invalid_anchors = ['SM-0', 'SM-28', 'SM-29',
`
251
``
`-
'SM-FOO', 'BSM', 'SM--1'
`
``
251
`+
'SM-FOO', 'BSM', 'SM--1',
`
252
252
`'SMS-1', 'SMS-28', 'SMS-30',
`
253
``
`-
'SMS-BAR', 'BSMS', 'SMS--2']
`
``
253
`+
'SMS-BAR', 'SMS-BYR' 'BSMS',
`
``
254
`+
'SMS--2']
`
254
255
`for invalid_anchor in invalid_anchors:
`
255
256
`with tm.assert_raises_regex(ValueError,
`
256
257
`'Invalid frequency: '):
`
`@@ -292,11 +293,15 @@ def test_get_rule_month():
`
292
293
``
293
294
`result = frequencies._get_rule_month('A-DEC')
`
294
295
`assert (result == 'DEC')
`
``
296
`+
result = frequencies._get_rule_month('Y-DEC')
`
``
297
`+
assert (result == 'DEC')
`
295
298
`result = frequencies._get_rule_month(offsets.YearEnd())
`
296
299
`assert (result == 'DEC')
`
297
300
``
298
301
`result = frequencies._get_rule_month('A-MAY')
`
299
302
`assert (result == 'MAY')
`
``
303
`+
result = frequencies._get_rule_month('Y-MAY')
`
``
304
`+
assert (result == 'MAY')
`
300
305
`result = frequencies._get_rule_month(offsets.YearEnd(month=5))
`
301
306
`assert (result == 'MAY')
`
302
307
``
`@@ -305,6 +310,10 @@ def test_period_str_to_code():
`
305
310
`assert (frequencies._period_str_to_code('A') == 1000)
`
306
311
`assert (frequencies._period_str_to_code('A-DEC') == 1000)
`
307
312
`assert (frequencies._period_str_to_code('A-JAN') == 1001)
`
``
313
`+
assert (frequencies._period_str_to_code('Y') == 1000)
`
``
314
`+
assert (frequencies._period_str_to_code('Y-DEC') == 1000)
`
``
315
`+
assert (frequencies._period_str_to_code('Y-JAN') == 1001)
`
``
316
+
308
317
`assert (frequencies._period_str_to_code('Q') == 2000)
`
309
318
`assert (frequencies._period_str_to_code('Q-DEC') == 2000)
`
310
319
`assert (frequencies._period_str_to_code('Q-FEB') == 2002)
`
`@@ -349,6 +358,10 @@ def test_freq_code(self):
`
349
358
`assert frequencies.get_freq('3A') == 1000
`
350
359
`assert frequencies.get_freq('-1A') == 1000
`
351
360
``
``
361
`+
assert frequencies.get_freq('Y') == 1000
`
``
362
`+
assert frequencies.get_freq('3Y') == 1000
`
``
363
`+
assert frequencies.get_freq('-1Y') == 1000
`
``
364
+
352
365
`assert frequencies.get_freq('W') == 4000
`
353
366
`assert frequencies.get_freq('W-MON') == 4001
`
354
367
`assert frequencies.get_freq('W-FRI') == 4005
`
`@@ -369,6 +382,13 @@ def test_freq_group(self):
`
369
382
`assert frequencies.get_freq_group('-1A') == 1000
`
370
383
`assert frequencies.get_freq_group('A-JAN') == 1000
`
371
384
`assert frequencies.get_freq_group('A-MAY') == 1000
`
``
385
+
``
386
`+
assert frequencies.get_freq_group('Y') == 1000
`
``
387
`+
assert frequencies.get_freq_group('3Y') == 1000
`
``
388
`+
assert frequencies.get_freq_group('-1Y') == 1000
`
``
389
`+
assert frequencies.get_freq_group('Y-JAN') == 1000
`
``
390
`+
assert frequencies.get_freq_group('Y-MAY') == 1000
`
``
391
+
372
392
`assert frequencies.get_freq_group(offsets.YearEnd()) == 1000
`
373
393
`assert frequencies.get_freq_group(offsets.YearEnd(month=1)) == 1000
`
374
394
`assert frequencies.get_freq_group(offsets.YearEnd(month=5)) == 1000
`
`@@ -790,12 +810,6 @@ def test_series(self):
`
790
810
`for freq in [None, 'L']:
`
791
811
`s = Series(period_range('2013', periods=10, freq=freq))
`
792
812
`pytest.raises(TypeError, lambda: frequencies.infer_freq(s))
`
793
``
`-
for freq in ['Y']:
`
794
``
-
795
``
`-
msg = frequencies._INVALID_FREQ_ERROR
`
796
``
`-
with tm.assert_raises_regex(ValueError, msg):
`
797
``
`-
s = Series(period_range('2013', periods=10, freq=freq))
`
798
``
`-
pytest.raises(TypeError, lambda: frequencies.infer_freq(s))
`
799
813
``
800
814
`# DateTimeIndex
`
801
815
`for freq in ['M', 'L', 'S']:
`
`@@ -812,11 +826,12 @@ def test_legacy_offset_warnings(self):
`
812
826
`'W@FRI', 'W@SAT', 'W@SUN', 'Q@JAN', 'Q@FEB', 'Q@MAR',
`
813
827
`'A@JAN', 'A@FEB', 'A@MAR', 'A@APR', 'A@MAY', 'A@JUN',
`
814
828
`'A@JUL', 'A@AUG', 'A@SEP', 'A@OCT', 'A@NOV', 'A@DEC',
`
815
``
`-
'WOM@1MON', 'WOM@2MON', 'WOM@3MON', 'WOM@4MON',
`
816
``
`-
'WOM@1TUE', 'WOM@2TUE', 'WOM@3TUE', 'WOM@4TUE',
`
817
``
`-
'WOM@1WED', 'WOM@2WED', 'WOM@3WED', 'WOM@4WED',
`
818
``
`-
'WOM@1THU', 'WOM@2THU', 'WOM@3THU', 'WOM@4THU'
`
819
``
`-
'WOM@1FRI', 'WOM@2FRI', 'WOM@3FRI', 'WOM@4FRI']
`
``
829
`+
'Y@JAN', 'WOM@1MON', 'WOM@2MON', 'WOM@3MON',
`
``
830
`+
'WOM@4MON', 'WOM@1TUE', 'WOM@2TUE', 'WOM@3TUE',
`
``
831
`+
'WOM@4TUE', 'WOM@1WED', 'WOM@2WED', 'WOM@3WED',
`
``
832
`+
'WOM@4WED', 'WOM@1THU', 'WOM@2THU', 'WOM@3THU',
`
``
833
`+
'WOM@4THU', 'WOM@1FRI', 'WOM@2FRI', 'WOM@3FRI',
`
``
834
`+
'WOM@4FRI']
`
820
835
``
821
836
`msg = frequencies._INVALID_FREQ_ERROR
`
822
837
`for freq in freqs:
`