Skip to content

Commit 166266d

Browse files
committed
Merge pull request #7318 from sinhrks/infer
BUG: inferred_freq results in None with eastern hemisphere timezones
2 parents 5149aac + 999259c commit 166266d

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

doc/source/v0.14.1.txt

+1
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,4 @@ Bug Fixes
8585
- Bug in ``isnull()`` when ``mode.use_inf_as_null == True`` where isnull
8686
wouldn't test ``True`` when it encountered an ``inf``/``-inf``
8787
(:issue:`7315`).
88+
- Bug in inferred_freq results in None for eastern hemisphere timezones (:issue:`7310`)

pandas/tseries/frequencies.py

+3
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,9 @@ class _FrequencyInferer(object):
668668
def __init__(self, index, warn=True):
669669
self.index = index
670670
self.values = np.asarray(index).view('i8')
671+
if index.tz is not None:
672+
self.values = tslib.date_normalize(self.values, index.tz)
673+
671674
self.warn = warn
672675

673676
if len(index) < 3:

pandas/tseries/tests/test_frequencies.py

+16
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,22 @@ def test_infer_freq(self):
256256
rng = Index(rng.to_timestamp('D', how='e').asobject)
257257
self.assertEqual(rng.inferred_freq, 'Q-OCT')
258258

259+
def test_infer_freq_tz(self):
260+
261+
# GH 7310
262+
for tz in [None, 'Asia/Tokyo', 'US/Pacific', 'Europe/Paris']:
263+
dates = ['2010-11-30', '2010-12-31', '2011-01-31', '2011-02-28']
264+
idx = DatetimeIndex(dates)
265+
self.assertEqual(idx.inferred_freq, 'M')
266+
267+
dates = ['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04']
268+
idx = DatetimeIndex(dates)
269+
self.assertEqual(idx.inferred_freq, 'D')
270+
271+
dates = ['2011-12-31 22:00', '2011-12-31 23:00', '2012-01-01 00:00', '2012-01-01 01:00']
272+
idx = DatetimeIndex(dates)
273+
self.assertEqual(idx.inferred_freq, 'H')
274+
259275
def test_not_monotonic(self):
260276
rng = _dti(['1/31/2000', '1/31/2001', '1/31/2002'])
261277
rng = rng[::-1]

0 commit comments

Comments
 (0)