Skip to content

Tst return none inplace series #35210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jul 10, 2020
6 changes: 4 additions & 2 deletions pandas/tests/series/indexing/test_indexing.py
Original file line number Diff line number Diff line change
Expand Up @@ -736,14 +736,16 @@ def test_append_timedelta_does_not_cast(td):
def test_underlying_data_conversion():
# GH 4080
df = DataFrame({c: [1, 2, 3] for c in ["a", "b", "c"]})
df.set_index(["a", "b", "c"], inplace=True)
return_value = df.set_index(["a", "b", "c"], inplace=True)
assert return_value is None
s = Series([1], index=[(2, 2, 2)])
df["val"] = 0
df
df["val"].update(s)

expected = DataFrame(dict(a=[1, 2, 3], b=[1, 2, 3], c=[1, 2, 3], val=[0, 1, 0]))
expected.set_index(["a", "b", "c"], inplace=True)
return_value = expected.set_index(["a", "b", "c"], inplace=True)
assert return_value is None
tm.assert_frame_equal(df, expected)

# GH 3970
Expand Down
33 changes: 22 additions & 11 deletions pandas/tests/series/methods/test_drop_duplicates.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ def test_drop_duplicates(any_numpy_dtype, keep, expected):
tm.assert_series_equal(tc.duplicated(keep=keep), expected)
tm.assert_series_equal(tc.drop_duplicates(keep=keep), tc[~expected])
sc = tc.copy()
sc.drop_duplicates(keep=keep, inplace=True)
return_value = sc.drop_duplicates(keep=keep, inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc[~expected])


Expand All @@ -40,8 +41,9 @@ def test_drop_duplicates_bool(keep, expected):
tm.assert_series_equal(tc.duplicated(keep=keep), expected)
tm.assert_series_equal(tc.drop_duplicates(keep=keep), tc[~expected])
sc = tc.copy()
sc.drop_duplicates(keep=keep, inplace=True)
return_value = sc.drop_duplicates(keep=keep, inplace=True)
tm.assert_series_equal(sc, tc[~expected])
assert return_value is None
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extra



@pytest.mark.parametrize("values", [[], list(range(5))])
Expand Down Expand Up @@ -84,21 +86,24 @@ def test_drop_duplicates_categorical_non_bool(self, dtype, ordered):
tm.assert_series_equal(tc1.duplicated(), expected)
tm.assert_series_equal(tc1.drop_duplicates(), tc1[~expected])
sc = tc1.copy()
sc.drop_duplicates(inplace=True)
return_value = sc.drop_duplicates(inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc1[~expected])

expected = Series([False, False, True, False])
tm.assert_series_equal(tc1.duplicated(keep="last"), expected)
tm.assert_series_equal(tc1.drop_duplicates(keep="last"), tc1[~expected])
sc = tc1.copy()
sc.drop_duplicates(keep="last", inplace=True)
return_value = sc.drop_duplicates(keep="last", inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc1[~expected])

expected = Series([False, False, True, True])
tm.assert_series_equal(tc1.duplicated(keep=False), expected)
tm.assert_series_equal(tc1.drop_duplicates(keep=False), tc1[~expected])
sc = tc1.copy()
sc.drop_duplicates(keep=False, inplace=True)
return_value = sc.drop_duplicates(keep=False, inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc1[~expected])

# Test case 2
Expand All @@ -113,21 +118,24 @@ def test_drop_duplicates_categorical_non_bool(self, dtype, ordered):
tm.assert_series_equal(tc2.duplicated(), expected)
tm.assert_series_equal(tc2.drop_duplicates(), tc2[~expected])
sc = tc2.copy()
sc.drop_duplicates(inplace=True)
return_value = sc.drop_duplicates(inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc2[~expected])

expected = Series([False, True, True, False, False, False, False])
tm.assert_series_equal(tc2.duplicated(keep="last"), expected)
tm.assert_series_equal(tc2.drop_duplicates(keep="last"), tc2[~expected])
sc = tc2.copy()
sc.drop_duplicates(keep="last", inplace=True)
return_value = sc.drop_duplicates(keep="last", inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc2[~expected])

expected = Series([False, True, True, False, True, True, False])
tm.assert_series_equal(tc2.duplicated(keep=False), expected)
tm.assert_series_equal(tc2.drop_duplicates(keep=False), tc2[~expected])
sc = tc2.copy()
sc.drop_duplicates(keep=False, inplace=True)
return_value = sc.drop_duplicates(keep=False, inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc2[~expected])

def test_drop_duplicates_categorical_bool(self, ordered):
Expand All @@ -141,19 +149,22 @@ def test_drop_duplicates_categorical_bool(self, ordered):
tm.assert_series_equal(tc.duplicated(), expected)
tm.assert_series_equal(tc.drop_duplicates(), tc[~expected])
sc = tc.copy()
sc.drop_duplicates(inplace=True)
return_value = sc.drop_duplicates(inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc[~expected])

expected = Series([True, True, False, False])
tm.assert_series_equal(tc.duplicated(keep="last"), expected)
tm.assert_series_equal(tc.drop_duplicates(keep="last"), tc[~expected])
sc = tc.copy()
sc.drop_duplicates(keep="last", inplace=True)
return_value = sc.drop_duplicates(keep="last", inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc[~expected])

expected = Series([True, True, True, True])
tm.assert_series_equal(tc.duplicated(keep=False), expected)
tm.assert_series_equal(tc.drop_duplicates(keep=False), tc[~expected])
sc = tc.copy()
sc.drop_duplicates(keep=False, inplace=True)
return_value = sc.drop_duplicates(keep=False, inplace=True)
assert return_value is None
tm.assert_series_equal(sc, tc[~expected])
3 changes: 2 additions & 1 deletion pandas/tests/series/methods/test_fillna.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ def test_fillna_numeric_inplace(self):
x = Series([np.nan, 1.0, np.nan, 3.0, np.nan], ["z", "a", "b", "c", "d"])
y = x.copy()

y.fillna(value=0, inplace=True)
return_value = y.fillna(value=0, inplace=True)
assert return_value is None

expected = x.fillna(value=0)
tm.assert_series_equal(y, expected)
Expand Down
24 changes: 16 additions & 8 deletions pandas/tests/series/methods/test_replace.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ def test_replace(self, datetime_series):
ser[6:10] = 0

# replace list with a single value
ser.replace([np.nan], -1, inplace=True)
return_value = ser.replace([np.nan], -1, inplace=True)
assert return_value is None

exp = ser.fillna(-1)
tm.assert_series_equal(ser, exp)
Expand Down Expand Up @@ -48,7 +49,8 @@ def test_replace(self, datetime_series):
tm.assert_series_equal(rs, rs2)

# replace inplace
ser.replace([np.nan, "foo", "bar"], -1, inplace=True)
return_value = ser.replace([np.nan, "foo", "bar"], -1, inplace=True)
assert return_value is None

assert (ser[:5] == -1).all()
assert (ser[6:10] == -1).all()
Expand Down Expand Up @@ -124,7 +126,8 @@ def test_replace_with_single_list(self):
tm.assert_series_equal(result, pd.Series([0, 0, 0, 0, 4]))

s = ser.copy()
s.replace([1, 2, 3], inplace=True)
return_value = s.replace([1, 2, 3], inplace=True)
assert return_value is None
tm.assert_series_equal(s, pd.Series([0, 0, 0, 0, 4]))

# make sure things don't get corrupted when fillna call fails
Expand All @@ -134,7 +137,8 @@ def test_replace_with_single_list(self):
r"\(bfill\)\. Got crash_cymbal"
)
with pytest.raises(ValueError, match=msg):
s.replace([1, 2, 3], inplace=True, method="crash_cymbal")
return_value = s.replace([1, 2, 3], inplace=True, method="crash_cymbal")
assert return_value is None
tm.assert_series_equal(s, ser)

def test_replace_with_empty_list(self):
Expand All @@ -156,7 +160,8 @@ def test_replace_mixed_types(self):
def check_replace(to_rep, val, expected):
sc = s.copy()
r = s.replace(to_rep, val)
sc.replace(to_rep, val, inplace=True)
return_value = sc.replace(to_rep, val, inplace=True)
assert return_value is None
tm.assert_series_equal(expected, r)
tm.assert_series_equal(expected, sc)

Expand Down Expand Up @@ -242,7 +247,8 @@ def test_replace2(self):
tm.assert_series_equal(rs, rs2)

# replace inplace
ser.replace([np.nan, "foo", "bar"], -1, inplace=True)
return_value = ser.replace([np.nan, "foo", "bar"], -1, inplace=True)
assert return_value is None
assert (ser[:5] == -1).all()
assert (ser[6:10] == -1).all()
assert (ser[20:30] == -1).all()
Expand Down Expand Up @@ -325,11 +331,13 @@ def test_replace_categorical_single(self):
tm.assert_series_equal(expected, result)
assert c[2] != "foo" # ensure non-inplace call does not alter original

c.replace(c[2], "foo", inplace=True)
return_value = c.replace(c[2], "foo", inplace=True)
assert return_value is None
tm.assert_series_equal(expected, c)

first_value = c[0]
c.replace(c[1], c[0], inplace=True)
return_value = c.replace(c[1], c[0], inplace=True)
assert return_value is None
assert c[0] == c[1] == first_value # test replacing with existing value

def test_replace_with_no_overflowerror(self):
Expand Down
3 changes: 2 additions & 1 deletion pandas/tests/series/methods/test_reset_index.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ def test_reset_index(self):
# check inplace
s = ser.reset_index(drop=True)
s2 = ser
s2.reset_index(drop=True, inplace=True)
return_value = s2.reset_index(drop=True, inplace=True)
assert return_value is None
tm.assert_series_equal(s, s2)

# level
Expand Down
3 changes: 2 additions & 1 deletion pandas/tests/series/methods/test_sort_values.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ def test_sort_values(self, datetime_series):

# inplace=True
ts = datetime_series.copy()
ts.sort_values(ascending=False, inplace=True)
return_value = ts.sort_values(ascending=False, inplace=True)
assert return_value is None
tm.assert_series_equal(ts, datetime_series.sort_values(ascending=False))
tm.assert_index_equal(
ts.index, datetime_series.sort_values(ascending=False).index
Expand Down
3 changes: 2 additions & 1 deletion pandas/tests/series/methods/test_truncate.py
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,8 @@ def test_truncate_multiindex(self):
df = pd.DataFrame.from_dict(
{"L1": [2, 2, 3, 3], "L2": ["A", "B", "A", "B"], "col": [2, 3, 4, 5]}
)
df.set_index(["L1", "L2"], inplace=True)
return_value = df.set_index(["L1", "L2"], inplace=True)
assert return_value is None
expected = df.col

tm.assert_series_equal(result, expected)
18 changes: 12 additions & 6 deletions pandas/tests/series/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,8 @@ def test_constructor_dict_timedelta_index(self):

def test_sparse_accessor_updates_on_inplace(self):
s = pd.Series([1, 1, 2, 3], dtype="Sparse[int]")
s.drop([0, 1], inplace=True)
return_value = s.drop([0, 1], inplace=True)
assert return_value is None
assert s.sparse.density == 1.0

def test_tab_completion(self):
Expand Down Expand Up @@ -459,7 +460,8 @@ def f(x):

def test_str_accessor_updates_on_inplace(self):
s = pd.Series(list("abc"))
s.drop([0], inplace=True)
return_value = s.drop([0], inplace=True)
assert return_value is None
assert len(s.str.lower()) == 2

def test_str_attribute(self):
Expand Down Expand Up @@ -548,7 +550,8 @@ def test_cat_accessor(self):
assert not s.cat.ordered, False

exp = Categorical(["a", "b", np.nan, "a"], categories=["b", "a"])
s.cat.set_categories(["b", "a"], inplace=True)
return_value = s.cat.set_categories(["b", "a"], inplace=True)
assert return_value is None
tm.assert_categorical_equal(s.values, exp)

res = s.cat.set_categories(["b", "a"])
Expand Down Expand Up @@ -579,8 +582,10 @@ def test_cat_accessor_no_new_attributes(self):

def test_cat_accessor_updates_on_inplace(self):
s = Series(list("abc")).astype("category")
s.drop(0, inplace=True)
s.cat.remove_unused_categories(inplace=True)
return_value = s.drop(0, inplace=True)
assert return_value is None
return_value = s.cat.remove_unused_categories(inplace=True)
assert return_value is None
assert len(s.cat.categories) == 2

def test_categorical_delegations(self):
Expand Down Expand Up @@ -614,7 +619,8 @@ def test_categorical_delegations(self):
assert s.cat.ordered
s = s.cat.as_unordered()
assert not s.cat.ordered
s.cat.as_ordered(inplace=True)
return_value = s.cat.as_ordered(inplace=True)
assert return_value is None
assert s.cat.ordered

# reorder
Expand Down
3 changes: 2 additions & 1 deletion pandas/tests/series/test_datetime_values.py
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,8 @@ def test_dt_accessor_invalid(self, ser):
def test_dt_accessor_updates_on_inplace(self):
s = Series(pd.date_range("2018-01-01", periods=10))
s[2] = None
s.fillna(pd.Timestamp("2018-01-01"), inplace=True)
return_value = s.fillna(pd.Timestamp("2018-01-01"), inplace=True)
assert return_value is None
result = s.dt.date
assert result[0] == result[2]

Expand Down
15 changes: 10 additions & 5 deletions pandas/tests/series/test_missing.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,8 @@ def test_fillna_downcast(self):

def test_fillna_int(self):
s = Series(np.random.randint(-100, 100, 50))
s.fillna(method="ffill", inplace=True)
return_value = s.fillna(method="ffill", inplace=True)
assert return_value is None
tm.assert_series_equal(s.fillna(method="ffill", inplace=False), s)

def test_categorical_nan_equality(self):
Expand Down Expand Up @@ -680,7 +681,8 @@ def test_dropna_empty(self):
s = Series([], dtype=object)

assert len(s.dropna()) == 0
s.dropna(inplace=True)
return_value = s.dropna(inplace=True)
assert return_value is None
assert len(s) == 0

# invalid axis
Expand Down Expand Up @@ -729,7 +731,8 @@ def test_dropna_no_nan(self):
assert result is not s

s2 = s.copy()
s2.dropna(inplace=True)
return_value = s2.dropna(inplace=True)
assert return_value is None
tm.assert_series_equal(s2, s)

def test_dropna_intervals(self):
Expand Down Expand Up @@ -775,7 +778,8 @@ def test_pad_nan(self):
[np.nan, 1.0, np.nan, 3.0, np.nan], ["z", "a", "b", "c", "d"], dtype=float
)

x.fillna(method="pad", inplace=True)
return_value = x.fillna(method="pad", inplace=True)
assert return_value is None

expected = Series(
[np.nan, 1.0, 1.0, 3.0, 3.0], ["z", "a", "b", "c", "d"], dtype=float
Expand All @@ -799,7 +803,8 @@ def test_dropna_preserve_name(self, datetime_series):
assert result.name == datetime_series.name
name = datetime_series.name
ts = datetime_series.copy()
ts.dropna(inplace=True)
return_value = ts.dropna(inplace=True)
assert return_value is None
assert ts.name == name

def test_series_fillna_limit(self):
Expand Down