diff --git a/pandas-stubs/core/indexes/base.pyi b/pandas-stubs/core/indexes/base.pyi index 25c975eff..907e8c421 100644 --- a/pandas-stubs/core/indexes/base.pyi +++ b/pandas-stubs/core/indexes/base.pyi @@ -187,7 +187,9 @@ class Index(IndexOpsMixin[S1], ElementOpsMixin[S1]): @overload def __new__( cls, - data: Sequence[np.datetime64 | datetime] | IndexOpsMixin[datetime], + data: ( + Sequence[np.datetime64 | datetime] | IndexOpsMixin[datetime] | DatetimeIndex + ), *, dtype: TimestampDtypeArg = ..., copy: bool = ..., @@ -274,6 +276,16 @@ class Index(IndexOpsMixin[S1], ElementOpsMixin[S1]): name: Hashable = ..., tupleize_cols: bool = ..., ) -> IntervalIndex[Interval[Any]]: ... + @overload + def __new__( + cls, + data: DatetimeIndex, + *, + dtype: TimestampDtypeArg | None = ..., + copy: bool = ..., + name: Hashable = ..., + tupleize_cols: bool = ..., + ) -> DatetimeIndex: ... # generic overloads @overload def __new__( diff --git a/tests/indexes/test_datetime_index.py b/tests/indexes/test_datetime_index.py index 221a12607..22d07e6b8 100644 --- a/tests/indexes/test_datetime_index.py +++ b/tests/indexes/test_datetime_index.py @@ -24,7 +24,7 @@ def test_index_relops() -> None: ) x = pd.Timestamp("2022-01-17") idx = check( - assert_type(pd.Index(data, name="date"), "pd.Index[pd.Timestamp]"), pd.Index + assert_type(pd.Index(data, name="date"), pd.DatetimeIndex), pd.DatetimeIndex ) check(assert_type(data[x <= idx], pd.DatetimeIndex), pd.DatetimeIndex) check(assert_type(data[x < idx], pd.DatetimeIndex), pd.DatetimeIndex)