Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

DEPR: Deprecate DateRange #6816

Closed
wants to merge 1 commit into
from
Jump to file or symbol
Failed to load files and symbols.
+25 −104
Split
@@ -2,7 +2,7 @@
K = 100
N = 100000
-rng = DateRange('1/1/2000', periods=N, offset=datetools.Minute())
+rng = DatetimeIndex('1/1/2000', periods=N, offset=datetools.Minute())
rng2 = np.asarray(rng).astype('M8[us]').astype('i8')
View
@@ -6,7 +6,7 @@
import la
import pandas
from pandas.compat import range
-from pandas import datetools, DateRange
+from pandas import datetools, DatetimeIndex
def timeit(f, iterations):
@@ -23,7 +23,7 @@ def rountrip_archive(N, K=50, iterations=10):
arr = np.random.randn(N, K)
# lar = la.larry(arr)
dma = pandas.DataFrame(arr,
- DateRange('1/1/2000', periods=N,
+ DatetimeIndex('1/1/2000', periods=N,
offset=datetools.Minute()))
dma[201] = 'bar'
View
@@ -180,6 +180,8 @@ Deprecations
Prior Version Deprecations/Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- Remove :class:`DateRange` in favor of :class:`DatetimeIndex` (:issue:`6816`)
@jreback

jreback Apr 6, 2014

Contributor

I am not 100% sure that this will render anymore that the class is now removed, @jorisvandenbossche ?

@jorisvandenbossche

jorisvandenbossche Apr 8, 2014

Owner

It will 'render' correctly, but it will not generate a link (as DatetimeIndex will do), so it's not a problem I think.

+
- Remove ``column`` keyword from ``DataFrame.sort`` (:issue:`4370`)
Experimental Features
View
@@ -326,6 +326,8 @@ Prior Version Deprecations/Changes
Therse are prior version deprecations that are taking effect as of 0.14.0.
+- Remove :class:`DateRange` in favor of :class:`DatetimeIndex` (:issue:`6816`)
+
- Remove ``column`` keyword from ``DataFrame.sort`` (:issue:`4370`)
Deprecations
View
@@ -3,13 +3,13 @@
import numpy as np
-from pandas.core.api import Series, DataFrame, DateRange
+from pandas.core.api import Series, DataFrame, DatetimeIndex
from pandas.stats.api import ols
N = 100
start = datetime(2009, 9, 2)
-dateRange = DateRange(start, periods=N)
+dateRange = DatetimeIndex(start, periods=N)
def makeDataFrame():
View
@@ -28,7 +28,6 @@
from pandas.tseries.period import Period, PeriodIndex
# legacy
-from pandas.core.daterange import DateRange # deprecated
from pandas.core.common import save, load # deprecated, remove in 0.13
import pandas.core.datetools as datetools
View
@@ -1,48 +0,0 @@
-# pylint: disable=E1101,E1103
-
-from pandas.core.index import Index
-from pandas.tseries.index import DatetimeIndex
-import pandas.core.datetools as datetools
-
-
-#-----------------------------------------------------------------------------
-# DateRange class
-
-class DateRange(Index):
-
- """Deprecated
- """
-
- offset = tzinfo = None
-
- def __new__(cls, start=None, end=None, periods=None,
- offset=datetools.bday, time_rule=None,
- tzinfo=None, name=None, **kwds):
-
- import warnings
- warnings.warn("DateRange is deprecated, use DatetimeIndex instead",
- FutureWarning)
-
- if time_rule is None:
- time_rule = kwds.get('timeRule')
- if time_rule is not None:
- offset = datetools.get_offset(time_rule)
-
- return DatetimeIndex(start=start, end=end,
- periods=periods, freq=offset,
- tzinfo=tzinfo, name=name, **kwds)
-
- def __setstate__(self, aug_state):
- """Necessary for making this object picklable"""
- index_state = aug_state[:1]
- offset = aug_state[1]
-
- # for backwards compatibility
- if len(aug_state) > 2:
- tzinfo = aug_state[2]
- else: # pragma: no cover
- tzinfo = None
-
- self.offset = offset
- self.tzinfo = tzinfo
- Index.__setstate__(self, *index_state)
View
@@ -3888,26 +3888,6 @@ def _sanitize_and_check(indexes):
return indexes, 'array'
-def _handle_legacy_indexes(indexes):
- from pandas.core.daterange import DateRange
- from pandas.tseries.index import DatetimeIndex
-
- converted = []
- for index in indexes:
- if isinstance(index, DateRange):
- if len(index) == 0:
- kwds = dict(data=[], freq=index.offset, tz=index.tzinfo)
- else:
- kwds = dict(start=index[0], end=index[-1],
- freq=index.offset, tz=index.tzinfo)
-
- index = DatetimeIndex(**kwds)
-
- converted.append(index)
-
- return converted
-
-
def _get_consensus_names(indexes):
# find the non-none names, need to tupleify to make
View
@@ -12,8 +12,7 @@
_NS_DTYPE, _TD_DTYPE, ABCSeries, is_list_like,
ABCSparseSeries, _infer_dtype_from_scalar,
_values_from_object, _is_null_datelike_scalar)
-from pandas.core.index import (Index, MultiIndex, _ensure_index,
- _handle_legacy_indexes)
+from pandas.core.index import Index, MultiIndex, _ensure_index
from pandas.core.indexing import (_maybe_convert_indices, _length_of_indexer)
import pandas.core.common as com
from pandas.sparse.array import _maybe_to_sparse, SparseArray
@@ -2369,7 +2368,6 @@ def __setstate__(self, state):
ax_arrays, bvalues, bitems = state[:3]
self.axes = [_ensure_index(ax) for ax in ax_arrays]
- self.axes = _handle_legacy_indexes(self.axes)
blocks = []
for values, items in zip(bvalues, bitems):
View
@@ -26,7 +26,7 @@
_ensure_object, SettingWithCopyError)
from pandas.core.index import (Index, MultiIndex, InvalidIndexError,
- _ensure_index, _handle_legacy_indexes)
+ _ensure_index)
from pandas.core.indexing import (
_check_bool_indexer,
_is_index_slice, _maybe_convert_indices)
@@ -426,7 +426,6 @@ def _unpickle_series_compat(self, state):
index, name = own_state[0], None
if len(own_state) > 1:
name = own_state[1]
- index = _handle_legacy_indexes([index])[0]
# recreate
self._data = SingleBlockManager(data, index, fastpath=True)
@@ -15,7 +15,6 @@
isnull, date_range, Timestamp, Period, DatetimeIndex,
Int64Index, to_datetime, bdate_range, Float64Index)
-from pandas.core.daterange import DateRange
import pandas.core.datetools as datetools
import pandas.tseries.offsets as offsets
import pandas.tseries.tools as tools
@@ -13,7 +13,6 @@
isnull, date_range, Timestamp, DatetimeIndex,
Int64Index, to_datetime, bdate_range)
-from pandas.core.daterange import DateRange
import pandas.core.datetools as datetools
import pandas.tseries.offsets as offsets
import pandas.tseries.frequencies as fmod
@@ -284,14 +283,6 @@ def test_inferTimeRule(self):
self.assertRaises(Exception, inferTimeRule, index1[:2])
self.assertRaises(Exception, inferTimeRule, index3)
- def test_time_rule(self):
- result = DateRange('1/1/2000', '1/30/2000', time_rule='WEEKDAY')
- result2 = DateRange('1/1/2000', '1/30/2000', timeRule='WEEKDAY')
- expected = date_range('1/1/2000', '1/30/2000', freq='B')
-
- self.assert_(result.equals(expected))
- self.assert_(result2.equals(expected))
-
def tearDown(self):
sys.stderr = sys.__stderr__
@@ -12,7 +12,6 @@
from pandas import DatetimeIndex, Int64Index, to_datetime, NaT
-from pandas.core.daterange import DateRange
import pandas.core.datetools as datetools
import pandas.tseries.offsets as offsets
from pandas.tseries.index import bdate_range, date_range
View
@@ -12,8 +12,8 @@
a = np.arange(n, dtype=np.int64)
b = np.arange(n * pct_overlap, n * (1 + pct_overlap), dtype=np.int64)
-dr1 = DateRange('1/1/2000', periods=n, offset=datetools.Minute())
-dr2 = DateRange(
+dr1 = DatetimeIndex('1/1/2000', periods=n, offset=datetools.Minute())
+dr2 = DatetimeIndex(
dr1[int(pct_overlap * n)], periods=n, offset=datetools.Minute(2))
aobj = a.astype(object)
View
@@ -1,12 +1,12 @@
from __future__ import print_function
from pandas import *
-rng = DateRange('1/3/2011', '11/30/2011', offset=datetools.Minute())
+rng = DatetimeIndex('1/3/2011', '11/30/2011', offset=datetools.Minute())
df = DataFrame(np.random.randn(len(rng), 5), index=rng,
columns=list('OHLCV'))
-rng5 = DateRange('1/3/2011', '11/30/2011', offset=datetools.Minute(5))
+rng5 = DatetimeIndex('1/3/2011', '11/30/2011', offset=datetools.Minute(5))
gp = rng5.asof
grouped = df.groupby(gp)
@@ -6,7 +6,7 @@
panel = Panel(np.random.randn(i, j, k),
items=[rands(10) for _ in range(i)],
- major_axis=DateRange('1/1/2000', periods=j,
+ major_axis=DatetimeIndex('1/1/2000', periods=j,
offset=datetools.Minute()),
minor_axis=[rands(10) for _ in range(k)])
View
@@ -7,7 +7,7 @@ def panda_test():
# generate some data
data = np.random.rand(50, 5)
# generate some dates
- dates = DateRange('1/1/1969', periods=50)
+ dates = DatetimeIndex('1/1/1969', periods=50)
# generate column headings
cols = ['A', 'B', 'C', 'D', 'E']
View
@@ -11,7 +11,7 @@
# intersection, union
setup = common_setup + """
-rng = DateRange('1/1/2000', periods=10000, offset=datetools.Minute())
+rng = DatetimeIndex('1/1/2000', periods=10000, offset=datetools.Minute())
if rng.dtype == object:
rng = rng.view(Index)
else:
View
@@ -11,7 +11,7 @@
setup_same_index = common_setup + """
# create 100 dataframes with the same index
-dr = np.asarray(DateRange(datetime(1990,1,1), datetime(2012,1,1)))
+dr = np.asarray(DatetimeIndex(datetime(1990,1,1), datetime(2012,1,1)))
data_frames = {}
for x in xrange(100):
df = DataFrame({"a": [0]*len(dr), "b": [1]*len(dr),
@@ -27,7 +27,7 @@
setup_equiv_indexes = common_setup + """
data_frames = {}
for x in xrange(100):
- dr = np.asarray(DateRange(datetime(1990,1,1), datetime(2012,1,1)))
+ dr = np.asarray(DatetimeIndex(datetime(1990,1,1), datetime(2012,1,1)))
df = DataFrame({"a": [0]*len(dr), "b": [1]*len(dr),
"c": [2]*len(dr)}, index=dr)
data_frames[x] = df
View
@@ -7,7 +7,7 @@
from pandas import date_range
except ImportError:
def date_range(start=None, end=None, periods=None, freq=None):
- return DateRange(start, end, periods=periods, offset=freq)
+ return DatetimeIndex(start, end, periods=periods, offset=freq)
"""
View
@@ -18,7 +18,7 @@
#----------------------------------------------------------------------
setup = common_setup + """
-rng = DateRange('1/1/1970', periods=10000, offset=datetools.Minute())
+rng = DatetimeIndex('1/1/1970', periods=10000, offset=datetools.Minute())
df = DataFrame(np.random.rand(10000, 10), index=rng,
columns=range(10))
df['foo'] = 'bar'
View
@@ -9,7 +9,7 @@
try:
rng = date_range('1/1/2000', periods=N, freq='min')
except NameError:
- rng = DateRange('1/1/2000', periods=N, offset=datetools.Minute())
+ rng = DatetimeIndex('1/1/2000', periods=N, offset=datetools.Minute())
date_range = DateRange
ts = Series(np.random.randn(N), index=rng)
View
@@ -8,9 +8,9 @@
try:
rng = date_range('1/1/2000', periods=N, freq='min')
except NameError:
- rng = DateRange('1/1/2000', periods=N, offset=datetools.Minute())
+ rng = DatetimeIndex('1/1/2000', periods=N, offset=datetools.Minute())
def date_range(start=None, end=None, periods=None, freq=None):
- return DateRange(start, end, periods=periods, offset=freq)
+ return DatetimeIndex(start, end, periods=periods, offset=freq)
if hasattr(Series, 'convert'):
Series.resample = Series.convert