Skip to content

Commit 0d49452

Browse files
committed
deprecate default args as positional in set_axis
1 parent 4048227 commit 0d49452

File tree

5 files changed

+18
-3
lines changed

5 files changed

+18
-3
lines changed

pandas/core/frame.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
Appender,
7878
Substitution,
7979
deprecate_kwarg,
80+
deprecate_nonkeyword_arguments,
8081
doc,
8182
rewrite_axis_style_signature,
8283
)
@@ -4675,6 +4676,7 @@ def set_axis(
46754676
) -> DataFrame | None:
46764677
...
46774678

4679+
@deprecate_nonkeyword_arguments(version="2.0", allowed_args=["self", "labels"])
46784680
@Appender(
46794681
"""
46804682
Examples

pandas/core/generic.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9409,7 +9409,7 @@ def shift(
94099409
else:
94109410
new_ax = index.shift(periods, freq)
94119411

9412-
result = self.set_axis(new_ax, axis)
9412+
result = self.set_axis(new_ax, axis=axis)
94139413
return result.__finalize__(self, method="shift")
94149414

94159415
@final

pandas/core/series.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
from pandas.util._decorators import (
5252
Appender,
5353
Substitution,
54+
deprecate_nonkeyword_arguments,
5455
doc,
5556
)
5657
from pandas.util._validators import (
@@ -4446,6 +4447,7 @@ def set_axis(self, labels, *, inplace: Literal[True]) -> None:
44464447
def set_axis(self, labels, axis: Axis = ..., inplace: bool = ...) -> Series | None:
44474448
...
44484449

4450+
@deprecate_nonkeyword_arguments(version="2.0", allowed_args=["self", "labels"])
44494451
@Appender(
44504452
"""
44514453
Examples

pandas/tests/frame/methods/test_set_axis.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,14 @@ class TestSeriesSetAxis(SharedSetAxisTests):
9898
def obj(self):
9999
ser = Series(np.arange(4), index=[1, 3, 5, 7], dtype="int64")
100100
return ser
101+
102+
103+
def test_nonkeyword_arguments_deprecation_warning():
104+
# https://github.com/pandas-dev/pandas/issues/41485
105+
df = DataFrame({"a": [1, 2, 3]})
106+
msg = (
107+
r"Starting with Pandas version 2\.0 all arguments of set_axis except for the "
108+
r"arguments 'self' and 'labels' will be keyword-only"
109+
)
110+
with tm.assert_produces_warning(FutureWarning, match=msg):
111+
df.set_axis([1, 2, 4], False)

pandas/tests/reshape/concat/test_categorical.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ def test_categorical_index_preserver(self):
148148
result = pd.concat([df2, df3])
149149
expected = pd.concat(
150150
[
151-
df2.set_axis(df2.index.astype(object), 0),
152-
df3.set_axis(df3.index.astype(object), 0),
151+
df2.set_axis(df2.index.astype(object), axis=0),
152+
df3.set_axis(df3.index.astype(object), axis=0),
153153
]
154154
)
155155
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)