Skip to content

Commit 165a94c

Browse files
committed
Merge pull request #4821 from jtratner/add-__abs__-method
ENH: Allow abs to work with PandasObjects
2 parents 1f6f178 + b620ee9 commit 165a94c

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

pandas/core/generic.py

+3
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,9 @@ def __nonzero__(self):
560560

561561
__bool__ = __nonzero__
562562

563+
def __abs__(self):
564+
return self.abs()
565+
563566
#----------------------------------------------------------------------
564567
# Array Interface
565568

pandas/tests/test_frame.py

+2
Original file line numberDiff line numberDiff line change
@@ -3234,9 +3234,11 @@ def test_operators_timedelta64(self):
32343234

32353235
# abs
32363236
result = diffs.abs()
3237+
result2 = abs(diffs)
32373238
expected = DataFrame(dict(A = df['A']-df['C'],
32383239
B = df['B']-df['A']))
32393240
assert_frame_equal(result,expected)
3241+
assert_frame_equal(result2, expected)
32403242

32413243
# mixed frame
32423244
mixed = diffs.copy()

pandas/tests/test_panel.py

+6
Original file line numberDiff line numberDiff line change
@@ -355,18 +355,24 @@ def test_get_value(self):
355355

356356
def test_abs(self):
357357
result = self.panel.abs()
358+
result2 = abs(self.panel)
358359
expected = np.abs(self.panel)
359360
self.assert_panel_equal(result, expected)
361+
self.assert_panel_equal(result2, expected)
360362

361363
df = self.panel['ItemA']
362364
result = df.abs()
365+
result2 = abs(df)
363366
expected = np.abs(df)
364367
assert_frame_equal(result, expected)
368+
assert_frame_equal(result2, expected)
365369

366370
s = df['A']
367371
result = s.abs()
372+
result2 = abs(s)
368373
expected = np.abs(s)
369374
assert_series_equal(result, expected)
375+
assert_series_equal(result2, expected)
370376

371377

372378
class CheckIndexing(object):

0 commit comments

Comments
 (0)