date_range breaks with tz-aware start/end dates and closed intervals in 0.18.0.rc1 · Issue #12409 · pandas-dev/pandas (original) (raw)

>>> import pandas as pd
>>> pd.date_range(start=pd.Timestamp('20150101', tz='UTC'), end=pd.Timestamp('20150105', tz='UTC'), closed='left')
DatetimeIndex(['2015-01-01', '2015-01-02', '2015-01-03', '2015-01-04'], dtype='datetime64[ns, UTC]', freq='D')
In [2]: pd.date_range(start=pd.Timestamp('20150101', tz='UTC'), end=pd.Timestamp('20150105', tz='UTC'), closed='left')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-b04844565a59> in <module>()
----> 1 pd.date_range(start=pd.Timestamp('20150101', tz='UTC'), end=pd.Timestamp('20150105', tz='UTC'), closed='left')

/.../pandas/tseries/index.py in date_range(start, end, periods, freq, tz, normalize, name, closed, **kwargs)
   2033     return DatetimeIndex(start=start, end=end, periods=periods,
   2034                          freq=freq, tz=tz, normalize=normalize, name=name,
-> 2035                          closed=closed, **kwargs)
   2036 
   2037 

/.../pandas/util/decorators.py in wrapper(*args, **kwargs)
     89                 else:
     90                     kwargs[new_arg_name] = new_arg_value
---> 91             return func(*args, **kwargs)
     92         return wrapper
     93     return _deprecate_kwarg

/.../pandas/tseries/index.py in __new__(cls, data, freq, start, end, periods, copy, name, tz, verify_integrity, normalize, closed, ambiguous, dtype, **kwargs)
    259             return cls._generate(start, end, periods, name, freq,
    260                                  tz=tz, normalize=normalize, closed=closed,
--> 261                                  ambiguous=ambiguous)
    262 
    263         if not isinstance(data, (np.ndarray, Index, ABCSeries)):

/.../pandas/tseries/index.py in _generate(cls, start, end, periods, name, offset, tz, normalize, ambiguous, closed)
    532         if not left_closed and len(index) and index[0] == start:
    533             index = index[1:]
--> 534         if not right_closed and len(index) and index[-1] == end:
    535             index = index[:-1]
    536 

/.../pandas/tslib.pyx in pandas.tslib._Timestamp.__richcmp__ (pandas/tslib.c:18791)()
    975                                 (type(self).__name__, type(other).__name__))
    976 
--> 977         self._assert_tzawareness_compat(other)
    978         return _cmp_scalar(self.value, ots.value, op)
    979 

/.../pandas/tslib.pyx in pandas.tslib._Timestamp._assert_tzawareness_compat (pandas/tslib.c:19145)()
   1007                                  'timestamps')
   1008         elif other.tzinfo is None:
-> 1009             raise TypeError('Cannot compare tz-naive and tz-aware timestamps')
   1010 
   1011     cpdef datetime to_datetime(_Timestamp self):

TypeError: Cannot compare tz-naive and tz-aware timestamps