Skip to content

Commit cbb90f7

Browse files
committed
fixups
1 parent 92d8089 commit cbb90f7

File tree

5 files changed

+11
-7
lines changed

5 files changed

+11
-7
lines changed

pandas/core/base.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
is_datetime64tz_dtype, is_datetimelike, is_extension_array_dtype,
1919
is_extension_type, is_list_like, is_object_dtype, is_scalar)
2020
from pandas.core.dtypes.generic import (
21-
ABCDataFrame, ABCDatetimeArray, ABCIndexClass, ABCSeries)
21+
ABCDataFrame, ABCDatetimeArray, ABCIndexClass, ABCSeries,
22+
ABCTimedeltaArray)
2223
from pandas.core.dtypes.missing import isna
2324

2425
from pandas.core import algorithms, common as com
@@ -851,7 +852,7 @@ def array(self):
851852
result = self._values
852853

853854
if not (is_extension_array_dtype(result.dtype)
854-
or isinstance(result, ABCDatetimeArray)):
855+
or isinstance(result, (ABCDatetimeArray, ABCTimedeltaArray))):
855856
# TODO: Should this be a DatetimeArray or PandasArray
856857
# for tz-naive data?
857858
# DatetimeArray is a bit strange, since tz-naive

pandas/core/indexes/datetimes.py

+1
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ def __setstate__(self, state):
423423
freq = None
424424

425425
self._data = DatetimeArray(data, dtype=dtype, freq=freq)
426+
self._freq = self._data._freq
426427
self._reset_identity()
427428

428429
else:

pandas/tests/arithmetic/test_timedelta64.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1476,7 +1476,7 @@ def test_tdi_rmul_arraylike(self, other, box_with_array):
14761476

14771477
tdi = TimedeltaIndex(['1 Day'] * 10)
14781478
expected = timedelta_range('1 days', '10 days')
1479-
expected._data._freq = None
1479+
expected._freq = None
14801480

14811481
tdi = tm.box_expected(tdi, box)
14821482
expected = tm.box_expected(expected, xbox)

pandas/tests/arrays/test_datetimes.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ def test_repeat_preserves_tz(self):
136136
repeated = arr.repeat([1, 1])
137137

138138
# preserves tz and values, but not freq
139-
expected = DatetimeArray(arr.asi8, freq=None, tz=arr.tz)
139+
expected = DatetimeArray(arr.asi8, freq=None, dtype=arr.dtype)
140140
tm.assert_equal(repeated, expected)
141141

142142
def test_value_counts_preserves_tz(self):

pandas/tests/arrays/test_timedeltas.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ def test_other_type_raises(self):
2121
def test_incorrect_dtype_raises(self):
2222
# TODO: why TypeError for 'category' but ValueError for i8?
2323
with pytest.raises(TypeError,
24-
match='data type "category" not understood'):
24+
match=r'category cannot be converted '
25+
r'to timedelta64\[ns\]'):
2526
TimedeltaArray(np.array([1, 2, 3], dtype='i8'), dtype='category')
2627

27-
with pytest.raises(ValueError,
28-
match=r"Only timedelta64\[ns\] dtype is valid"):
28+
with pytest.raises(TypeError,
29+
match=r"dtype int64 cannot be converted "
30+
r"to timedelta64\[ns\]"):
2931
TimedeltaArray(np.array([1, 2, 3], dtype='i8'),
3032
dtype=np.dtype(int))
3133

0 commit comments

Comments
 (0)