@@ -909,17 +909,6 @@ def test_describe(self):
909
909
_ = self .series .describe ()
910
910
_ = self .ts .describe ()
911
911
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
-
923
912
def test_describe_objects (self ):
924
913
s = Series (['a' , 'b' , 'b' , np .nan , np .nan , np .nan , 'c' , 'd' , 'a' , 'a' ])
925
914
result = s .describe ()
@@ -1181,27 +1170,19 @@ def test_describe(self):
1181
1170
desc = tm .makeMixedDataFrame ().describe ()
1182
1171
desc = tm .makeTimeDataFrame ().describe ()
1183
1172
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
-
1200
1173
def test_describe_percentiles_percent_or_raw (self ):
1174
+ msg = 'percentiles should all be in the interval \\ [0, 1\\ ]'
1175
+
1201
1176
df = tm .makeDataFrame ()
1202
- with tm .assertRaises (ValueError ):
1177
+ with tm .assertRaisesRegexp (ValueError , msg ):
1203
1178
df .describe (percentiles = [10 , 50 , 100 ])
1204
1179
1180
+ with tm .assertRaisesRegexp (ValueError , msg ):
1181
+ df .describe (percentiles = [2 ])
1182
+
1183
+ with tm .assertRaisesRegexp (ValueError , msg ):
1184
+ df .describe (percentiles = [- 2 ])
1185
+
1205
1186
def test_describe_percentiles_equivalence (self ):
1206
1187
df = tm .makeDataFrame ()
1207
1188
d1 = df .describe ()
@@ -1213,16 +1194,29 @@ def test_describe_percentiles_insert_median(self):
1213
1194
d1 = df .describe (percentiles = [.25 , .75 ])
1214
1195
d2 = df .describe (percentiles = [.25 , .5 , .75 ])
1215
1196
assert_frame_equal (d1 , d2 )
1197
+ self .assertTrue ('25%' in d1 .index )
1198
+ self .assertTrue ('75%' in d2 .index )
1216
1199
1217
1200
# none above
1218
1201
d1 = df .describe (percentiles = [.25 , .45 ])
1219
1202
d2 = df .describe (percentiles = [.25 , .45 , .5 ])
1220
1203
assert_frame_equal (d1 , d2 )
1204
+ self .assertTrue ('25%' in d1 .index )
1205
+ self .assertTrue ('45%' in d2 .index )
1221
1206
1222
1207
# none below
1223
1208
d1 = df .describe (percentiles = [.75 , 1 ])
1224
1209
d2 = df .describe (percentiles = [.5 , .75 , 1 ])
1225
1210
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 )
1226
1220
1227
1221
def test_describe_no_numeric (self ):
1228
1222
df = DataFrame ({'A' : ['foo' , 'foo' , 'bar' ] * 8 ,
0 commit comments