@@ -909,17 +909,6 @@ def test_describe(self):
909909 _ = self .series .describe ()
910910 _ = self .ts .describe ()
911911
912- def test_describe_percentiles (self ):
913- with tm .assert_produces_warning (FutureWarning ):
914- desc = self .series .describe (percentile_width = 50 )
915- assert '75%' in desc .index
916- assert '25%' in desc .index
917-
918- with tm .assert_produces_warning (FutureWarning ):
919- desc = self .series .describe (percentile_width = 95 )
920- assert '97.5%' in desc .index
921- assert '2.5%' in desc .index
922-
923912 def test_describe_objects (self ):
924913 s = Series (['a' , 'b' , 'b' , np .nan , np .nan , np .nan , 'c' , 'd' , 'a' , 'a' ])
925914 result = s .describe ()
@@ -1181,27 +1170,19 @@ def test_describe(self):
11811170 desc = tm .makeMixedDataFrame ().describe ()
11821171 desc = tm .makeTimeDataFrame ().describe ()
11831172
1184- def test_describe_percentiles (self ):
1185- with tm .assert_produces_warning (FutureWarning ):
1186- desc = tm .makeDataFrame ().describe (percentile_width = 50 )
1187- assert '75%' in desc .index
1188- assert '25%' in desc .index
1189-
1190- with tm .assert_produces_warning (FutureWarning ):
1191- desc = tm .makeDataFrame ().describe (percentile_width = 95 )
1192- assert '97.5%' in desc .index
1193- assert '2.5%' in desc .index
1194-
1195- def test_describe_quantiles_both (self ):
1196- with tm .assertRaises (ValueError ):
1197- tm .makeDataFrame ().describe (percentile_width = 50 ,
1198- percentiles = [25 , 75 ])
1199-
12001173 def test_describe_percentiles_percent_or_raw (self ):
1174+ msg = 'percentiles should all be in the interval \\ [0, 1\\ ]'
1175+
12011176 df = tm .makeDataFrame ()
1202- with tm .assertRaises (ValueError ):
1177+ with tm .assertRaisesRegexp (ValueError , msg ):
12031178 df .describe (percentiles = [10 , 50 , 100 ])
12041179
1180+ with tm .assertRaisesRegexp (ValueError , msg ):
1181+ df .describe (percentiles = [2 ])
1182+
1183+ with tm .assertRaisesRegexp (ValueError , msg ):
1184+ df .describe (percentiles = [- 2 ])
1185+
12051186 def test_describe_percentiles_equivalence (self ):
12061187 df = tm .makeDataFrame ()
12071188 d1 = df .describe ()
@@ -1213,16 +1194,29 @@ def test_describe_percentiles_insert_median(self):
12131194 d1 = df .describe (percentiles = [.25 , .75 ])
12141195 d2 = df .describe (percentiles = [.25 , .5 , .75 ])
12151196 assert_frame_equal (d1 , d2 )
1197+ self .assertTrue ('25%' in d1 .index )
1198+ self .assertTrue ('75%' in d2 .index )
12161199
12171200 # none above
12181201 d1 = df .describe (percentiles = [.25 , .45 ])
12191202 d2 = df .describe (percentiles = [.25 , .45 , .5 ])
12201203 assert_frame_equal (d1 , d2 )
1204+ self .assertTrue ('25%' in d1 .index )
1205+ self .assertTrue ('45%' in d2 .index )
12211206
12221207 # none below
12231208 d1 = df .describe (percentiles = [.75 , 1 ])
12241209 d2 = df .describe (percentiles = [.5 , .75 , 1 ])
12251210 assert_frame_equal (d1 , d2 )
1211+ self .assertTrue ('75%' in d1 .index )
1212+ self .assertTrue ('100%' in d2 .index )
1213+
1214+ # edge
1215+ d1 = df .describe (percentiles = [0 , 1 ])
1216+ d2 = df .describe (percentiles = [0 , .5 , 1 ])
1217+ assert_frame_equal (d1 , d2 )
1218+ self .assertTrue ('0%' in d1 .index )
1219+ self .assertTrue ('100%' in d2 .index )
12261220
12271221 def test_describe_no_numeric (self ):
12281222 df = DataFrame ({'A' : ['foo' , 'foo' , 'bar' ] * 8 ,
0 commit comments