Skip to content

Commit 8b754fc

Browse files
jbrockmendeljreback
authored andcommitted
CLN: update _simple_new usages (#31089)
1 parent 65b23c2 commit 8b754fc

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

pandas/core/indexes/datetimes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ def __new__(
260260
ambiguous=ambiguous,
261261
)
262262

263-
subarr = cls._simple_new(dtarr, name=name, freq=dtarr.freq, tz=dtarr.tz)
263+
subarr = cls._simple_new(dtarr, name=name)
264264
return subarr
265265

266266
@classmethod
@@ -1170,7 +1170,7 @@ def date_range(
11701170
closed=closed,
11711171
**kwargs,
11721172
)
1173-
return DatetimeIndex._simple_new(dtarr, tz=dtarr.tz, freq=dtarr.freq, name=name)
1173+
return DatetimeIndex._simple_new(dtarr, name=name)
11741174

11751175

11761176
def bdate_range(

pandas/core/indexes/timedeltas.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ def __new__(
177177
tdarr = TimedeltaArray._from_sequence(
178178
data, freq=freq, unit=unit, dtype=dtype, copy=copy
179179
)
180-
return cls._simple_new(tdarr._data, freq=tdarr.freq, name=name)
180+
return cls._simple_new(tdarr, name=name)
181181

182182
@classmethod
183183
def _simple_new(cls, values, name=None, freq=None, dtype=_TD_DTYPE):
@@ -507,4 +507,4 @@ def timedelta_range(
507507

508508
freq, freq_infer = dtl.maybe_infer_freq(freq)
509509
tdarr = TimedeltaArray._generate_range(start, end, periods, freq, closed=closed)
510-
return TimedeltaIndex._simple_new(tdarr._data, freq=tdarr.freq, name=name)
510+
return TimedeltaIndex._simple_new(tdarr, name=name)

pandas/core/tools/datetimes.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@
3737
)
3838
from pandas.core.dtypes.missing import notna
3939

40-
from pandas.arrays import IntegerArray
40+
from pandas.arrays import DatetimeArray, IntegerArray
4141
from pandas.core import algorithms
4242
from pandas.core.algorithms import unique
43+
from pandas.core.arrays.datetimes import tz_to_dtype
4344

4445
# ---------------------------------------------------------------------
4546
# types used in annotations
@@ -282,7 +283,6 @@ def _convert_listlike_datetimes(
282283
Index-like of parsed dates
283284
"""
284285
from pandas import DatetimeIndex
285-
from pandas.core.arrays import DatetimeArray
286286
from pandas.core.arrays.datetimes import (
287287
maybe_convert_dtype,
288288
objects_to_datetime64ns,
@@ -427,7 +427,8 @@ def _convert_listlike_datetimes(
427427
# datetime objects are found without passing `utc=True`
428428
try:
429429
values, tz = conversion.datetime_to_datetime64(arg)
430-
return DatetimeIndex._simple_new(values, name=name, tz=tz)
430+
dta = DatetimeArray(values, dtype=tz_to_dtype(tz))
431+
return DatetimeIndex._simple_new(dta, name=name)
431432
except (ValueError, TypeError):
432433
raise e
433434

@@ -447,7 +448,8 @@ def _convert_listlike_datetimes(
447448
if tz_parsed is not None:
448449
# We can take a shortcut since the datetime64 numpy array
449450
# is in UTC
450-
return DatetimeIndex._simple_new(result, name=name, tz=tz_parsed)
451+
dta = DatetimeArray(result, dtype=tz_to_dtype(tz_parsed))
452+
return DatetimeIndex._simple_new(dta, name=name)
451453

452454
utc = tz == "utc"
453455
return _box_as_indexlike(result, utc=utc, name=name)

pandas/io/pytables.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
concat,
5959
isna,
6060
)
61-
from pandas.core.arrays.categorical import Categorical
61+
from pandas.core.arrays import Categorical, DatetimeArray, PeriodArray
6262
import pandas.core.common as com
6363
from pandas.core.computation.pytables import PyTablesExpr, maybe_expression
6464
from pandas.core.indexes.api import ensure_index
@@ -2656,7 +2656,8 @@ def _get_index_factory(self, klass):
26562656

26572657
def f(values, freq=None, tz=None):
26582658
# data are already in UTC, localize and convert if tz present
2659-
result = DatetimeIndex._simple_new(values.values, name=None, freq=freq)
2659+
dta = DatetimeArray._simple_new(values.values, freq=freq)
2660+
result = DatetimeIndex._simple_new(dta, name=None)
26602661
if tz is not None:
26612662
result = result.tz_localize("UTC").tz_convert(tz)
26622663
return result
@@ -2665,7 +2666,8 @@ def f(values, freq=None, tz=None):
26652666
elif klass == PeriodIndex:
26662667

26672668
def f(values, freq=None, tz=None):
2668-
return PeriodIndex._simple_new(values, name=None, freq=freq)
2669+
parr = PeriodArray._simple_new(values, freq=freq)
2670+
return PeriodIndex._simple_new(parr, name=None)
26692671

26702672
return f
26712673

0 commit comments

Comments
 (0)