Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion pandas-stubs/core/frame.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -1760,7 +1760,9 @@ class DataFrame(NDFrame, OpsMixin, _GetItemHack):
@property
def index(self) -> Index: ...
@index.setter
def index(self, idx: Index) -> None: ...
def index(
self, idx: AnyArrayLike | SequenceNotStr[Hashable] | tuple[Hashable, ...]
) -> None: ...
@property
def loc(self) -> _LocIndexerFrame[Self]: ...
@property
Expand Down
4 changes: 3 additions & 1 deletion pandas-stubs/core/series.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,9 @@ class Series(IndexOpsMixin[S1], NDFrame):
@property
def index(self) -> Index: ...
@index.setter
def index(self, idx: Index) -> None: ...
def index(
self, idx: AnyArrayLike | SequenceNotStr[Hashable] | tuple[Hashable, ...]
) -> None: ...
@overload
def reset_index(
self,
Expand Down
9 changes: 9 additions & 0 deletions tests/series/test_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -3982,3 +3982,12 @@ def test_series_explode() -> None:

check(assert_type(s.explode(), pd.Series), pd.Series)
check(assert_type(s.explode(ignore_index=True), pd.Series), pd.Series)


def test_series_index_setter() -> None:
"""Test Series.index setter property GH1366."""
sr = pd.Series(["a", "b"])

check(assert_type(sr.index, pd.Index), pd.Index)
sr.index = [2, 3]
check(assert_type(sr.index, pd.Index), pd.Index)
9 changes: 9 additions & 0 deletions tests/test_frame.py
Original file line number Diff line number Diff line change
Expand Up @@ -4813,3 +4813,12 @@ def test_from_records() -> None:
),
pd.DataFrame,
)


def test_frame_index_setter() -> None:
"""Test DataFrame.index setter property GH1366."""
df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4]})

check(assert_type(df.index, pd.Index), pd.Index)
df.index = [2, 3]
check(assert_type(df.index, pd.Index), pd.Index)
Loading