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:

`