Skip to content

Commit 22fa07a

Browse files
committed
cleaner way to get ndarray from DTI and fix failing pytables tests
1 parent 36ccf8e commit 22fa07a

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

pandas/core/indexes/base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -506,9 +506,9 @@ def _shallow_copy(self, values=None, **kwargs):
506506
attributes.update(kwargs)
507507
if not len(values) and 'dtype' not in kwargs:
508508
attributes['dtype'] = self.dtype
509-
from pandas import DatetimeIndex
510-
if isinstance(values, DatetimeIndex):
511-
values = values.values
509+
510+
# _simple_new expects an ndarray
511+
values = getattr(values, 'values', values)
512512
return self._simple_new(values, **attributes)
513513

514514
def _shallow_copy_with_infer(self, values=None, **kwargs):

pandas/core/indexes/datetimes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,7 @@ def _simple_new(cls, values, name=None, freq=None, tz=None,
611611
dtype=dtype, **kwargs)
612612
values = np.array(values, copy=False)
613613

614+
# values should be a numpy array
614615
assert isinstance(values, np.ndarray)
615616

616617
if is_object_dtype(values):

pandas/io/pytables.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2474,7 +2474,7 @@ def _get_index_factory(self, klass):
24742474
if klass == DatetimeIndex:
24752475
def f(values, freq=None, tz=None):
24762476
# data are already in UTC, localize and convert if tz present
2477-
result = DatetimeIndex._simple_new(values, None, freq=freq)
2477+
result = DatetimeIndex._simple_new(values.values, None, freq=freq)
24782478
if tz is not None:
24792479
result = result.tz_localize('UTC').tz_convert(tz)
24802480
return result

0 commit comments

Comments
 (0)