Skip to content

Commit 82b67d0

Browse files
committed
ENH: handle non-DatetimeIndex to support statsmodels
1 parent e2da0bd commit 82b67d0

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

pandas/tseries/api.py

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55

66
from pandas.tseries.index import DatetimeIndex, date_range, bdate_range
7+
from pandas.tseries.frequencies import infer_freq
78
from pandas.tseries.offsets import *
89
from pandas.tseries.period import PeriodIndex, period_range, pnow
910
from pandas.tseries.resample import TimeGrouper

pandas/tseries/frequencies.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,6 @@ def infer_freq(index, warn=True):
693693
freq : string or None
694694
None if no discernable frequency
695695
"""
696-
697696
inferer = _FrequencyInferer(index, warn=warn)
698697
return inferer.get_freq()
699698

@@ -704,6 +703,11 @@ class _FrequencyInferer(object):
704703
"""
705704

706705
def __init__(self, index, warn=True):
706+
from pandas.tseries.index import DatetimeIndex
707+
708+
if not isinstance(index, DatetimeIndex):
709+
index = DatetimeIndex(index)
710+
707711
self.index = index
708712
self.values = np.asarray(index).view('i8')
709713
self.warn = warn

pandas/tseries/tests/test_frequencies.py

+5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from pandas import Index, DatetimeIndex, date_range
1111

1212
from pandas.tseries.frequencies import to_offset, infer_freq
13+
from pandas.tseries.tools import to_datetime
1314
import pandas.tseries.offsets as offsets
1415

1516
import pandas._tseries as lib
@@ -72,6 +73,10 @@ def test_day_corner(self):
7273
index = _dti(['1/1/2000', '1/2/2000', '1/3/2000'])
7374
self.assert_(infer_freq(index) == 'D')
7475

76+
def test_non_datetimeindex(self):
77+
dates = to_datetime(['1/1/2000', '1/2/2000', '1/3/2000'])
78+
self.assert_(infer_freq(dates) == 'D')
79+
7580
def test_hour(self):
7681
self._check_tick(timedelta(hours=1), 'H')
7782

0 commit comments

Comments
 (0)