@@ -5949,6 +5949,31 @@ def test_ptp(self):
5949
5949
ser = Series (arr )
5950
5950
self .assertEqual (np .ptp (ser ), np .ptp (arr ))
5951
5951
5952
+ # GH11163
5953
+ s = Series ([3 , 5 , np .nan , - 3 , 10 ])
5954
+ self .assertEqual (s .ptp (), 13 )
5955
+ self .assertTrue (pd .isnull (s .ptp (skipna = False )))
5956
+
5957
+ mi = pd .MultiIndex .from_product ([['a' ,'b' ], [1 ,2 ,3 ]])
5958
+ s = pd .Series ([1 , np .nan , 7 , 3 , 5 , np .nan ], index = mi )
5959
+
5960
+ expected = pd .Series ([6 , 2 ], index = ['a' , 'b' ], dtype = np .float64 )
5961
+ self .assert_series_equal (s .ptp (level = 0 ), expected )
5962
+
5963
+ expected = pd .Series ([np .nan , np .nan ], index = ['a' , 'b' ])
5964
+ self .assert_series_equal (s .ptp (level = 0 , skipna = False ), expected )
5965
+
5966
+ with self .assertRaises (ValueError ):
5967
+ s .ptp (axis = 1 )
5968
+
5969
+ s = pd .Series (['a' , 'b' , 'c' , 'd' , 'e' ])
5970
+ with self .assertRaises (TypeError ):
5971
+ s .ptp ()
5972
+
5973
+ with self .assertRaises (NotImplementedError ):
5974
+ s .ptp (numeric_only = True )
5975
+
5976
+
5952
5977
def test_asof (self ):
5953
5978
# array or list or dates
5954
5979
N = 50
0 commit comments