Skip to content

Commit 66acc90

Browse files
committed
Fixed frame tests
1 parent f09c6df commit 66acc90

File tree

4 files changed

+15
-26
lines changed

4 files changed

+15
-26
lines changed

pandas/core/frame.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4038,6 +4038,7 @@ def rename(
40384038
mapper: Optional[
40394039
Union[Mapping[Hashable, Hashable], Callable[[Hashable], Hashable]]
40404040
] = None,
4041+
*,
40414042
index: Optional[
40424043
Union[Mapping[Hashable, Hashable], Callable[[Hashable], Hashable]]
40434044
] = None,

pandas/core/generic.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,7 @@ def rename(
10191019
mapper: Optional[
10201020
Union[Mapping[Hashable, Hashable], Callable[[Hashable], Hashable]]
10211021
] = None,
1022+
*,
10221023
index: Optional[
10231024
Union[Mapping[Hashable, Hashable], Callable[[Hashable], Hashable]]
10241025
] = None,
@@ -1143,7 +1144,7 @@ def rename(
11431144
11441145
See the :ref:`user guide <basics.rename>` for more.
11451146
"""
1146-
if not (mapper or index or columns):
1147+
if mapper is None and index is None and columns is None:
11471148
raise TypeError("must pass an index to rename")
11481149

11491150
if (index or columns):

pandas/core/series.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4085,9 +4085,11 @@ def rename(
40854085
index: Optional[
40864086
Union[Hashable, Mapping[Hashable, Hashable], Callable[[Hashable], Hashable]]
40874087
] = None,
4088+
*,
40884089
copy: bool = True,
40894090
inplace: bool = False,
40904091
level: Optional[Level] = None,
4092+
errors: str = "ignore"
40914093
) -> "Series":
40924094
"""
40934095
Alter Series index labels or name.
@@ -4149,12 +4151,10 @@ def rename(
41494151
5 3
41504152
dtype: int64
41514153
"""
4152-
kwargs["inplace"] = validate_bool_kwarg(kwargs.get("inplace", False), "inplace")
4153-
41544154
if callable(index) or is_dict_like(index):
4155-
return super().rename(index=index, **kwargs)
4155+
return super().rename(index=index, copy=copy, inplace=inplace, level=level, errors=errors)
41564156
else:
4157-
return self._set_name(index, inplace=kwargs.get("inplace"))
4157+
return self._set_name(index, inplace=inplace)
41584158

41594159
@Substitution(**_shared_doc_kwargs)
41604160
@Appender(generic.NDFrame.reindex.__doc__)

pandas/tests/frame/test_alter_axes.py

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,7 +1294,7 @@ def test_rename_mapper_multi(self):
12941294
def test_rename_positional_named(self):
12951295
# https://github.com/pandas-dev/pandas/issues/12392
12961296
df = DataFrame({"a": [1, 2], "b": [1, 2]}, index=["X", "Y"])
1297-
result = df.rename(str.lower, columns=str.upper)
1297+
result = df.rename(index=str.lower, columns=str.upper)
12981298
expected = DataFrame({"A": [1, 2], "B": [1, 2]}, index=["x", "y"])
12991299
tm.assert_frame_equal(result, expected)
13001300

@@ -1318,12 +1318,12 @@ def test_rename_axis_style_raises(self):
13181318

13191319
# Multiple targets and axis
13201320
with pytest.raises(TypeError, match=over_spec_msg):
1321-
df.rename(str.lower, str.lower, axis="columns")
1321+
df.rename(str.lower, index=str.lower, axis="columns")
13221322

13231323
# Too many targets
1324-
over_spec_msg = "Cannot specify all of 'mapper', 'index', 'columns'."
1324+
over_spec_msg = "Cannot specify both 'mapper' and any of 'index' or 'columns'"
13251325
with pytest.raises(TypeError, match=over_spec_msg):
1326-
df.rename(str.lower, str.lower, str.lower)
1326+
df.rename(str.lower, index=str.lower, columns=str.lower)
13271327

13281328
# Duplicates
13291329
with pytest.raises(TypeError, match="multiple values"):
@@ -1357,16 +1357,11 @@ def test_reindex_api_equivalence(self):
13571357
for res in [res2, res3]:
13581358
tm.assert_frame_equal(res1, res)
13591359

1360-
def test_rename_positional(self):
1360+
def test_rename_positional_raises(self):
13611361
df = DataFrame(columns=["A", "B"])
1362-
with tm.assert_produces_warning(FutureWarning) as rec:
1363-
result = df.rename(None, str.lower)
1364-
expected = DataFrame(columns=["a", "b"])
1365-
tm.assert_frame_equal(result, expected)
1366-
assert len(rec) == 1
1367-
message = str(rec[0].message)
1368-
assert "rename" in message
1369-
assert "Use named arguments" in message
1362+
msg = r"rename\(\) takes from 1 to 2 positional arguments"
1363+
with pytest.raises(TypeError, match=msg):
1364+
df.rename(None, str.lower)
13701365

13711366
def test_assign_columns(self, float_frame):
13721367
float_frame["hi"] = "there"
@@ -1391,14 +1386,6 @@ def test_set_index_preserve_categorical_dtype(self):
13911386
result = result.reindex(columns=df.columns)
13921387
tm.assert_frame_equal(result, df)
13931388

1394-
def test_ambiguous_warns(self):
1395-
df = DataFrame({"A": [1, 2]})
1396-
with tm.assert_produces_warning(FutureWarning):
1397-
df.rename(id, id)
1398-
1399-
with tm.assert_produces_warning(FutureWarning):
1400-
df.rename({0: 10}, {"A": "B"})
1401-
14021389
def test_rename_signature(self):
14031390
sig = inspect.signature(DataFrame.rename)
14041391
parameters = set(sig.parameters)

0 commit comments

Comments
 (0)