Skip to content

Commit 8b77ace

Browse files
committed
BUG: provide backwards compatibility to DataFrame.clip if arguments are reversed
1 parent 179de43 commit 8b77ace

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

pandas/core/frame.py

+5
Original file line numberDiff line numberDiff line change
@@ -5042,6 +5042,11 @@ def clip(self, lower=None, upper=None):
50425042
-------
50435043
clipped : DataFrame
50445044
"""
5045+
5046+
# GH 2747 (arguments were reversed)
5047+
if lower is not None and upper is not None:
5048+
lower, upper = min(lower,upper), max(lower,upper)
5049+
50455050
return self.apply(lambda x: x.clip(lower=lower, upper=upper))
50465051

50475052
def clip_upper(self, threshold):

pandas/tests/test_frame.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -6472,18 +6472,19 @@ def test_clip(self):
64726472

64736473
def test_dataframe_clip(self):
64746474

6475-
lb = -1
6476-
ub = 1
6477-
64786475
# GH #2747
64796476
df = DataFrame(np.random.randn(1000,2))
6480-
lb_mask = df.values <= lb
6481-
ub_mask = df.values >= ub
6482-
mask = ~lb_mask & ~ub_mask
6483-
clipped_df = df.clip(lb, ub)
6484-
self.assert_((clipped_df.values[lb_mask] == lb).all() == True)
6485-
self.assert_((clipped_df.values[ub_mask] == ub).all() == True)
6486-
self.assert_((clipped_df.values[mask] == df.values[mask]).all() == True)
6477+
6478+
for lb, ub in [(-1,1),(1,-1)]:
6479+
clipped_df = df.clip(lb, ub)
6480+
6481+
lb, ub = min(lb,ub), max(ub,lb)
6482+
lb_mask = df.values <= lb
6483+
ub_mask = df.values >= ub
6484+
mask = ~lb_mask & ~ub_mask
6485+
self.assert_((clipped_df.values[lb_mask] == lb).all() == True)
6486+
self.assert_((clipped_df.values[ub_mask] == ub).all() == True)
6487+
self.assert_((clipped_df.values[mask] == df.values[mask]).all() == True)
64876488

64886489
def test_get_X_columns(self):
64896490
# numeric and object columns

0 commit comments

Comments
 (0)