(self)
| 1241 | assert_array_equal(np.ma.median(a), 255) |
| 1242 | |
| 1243 | def test_special(self): |
| 1244 | for inf in [np.inf, -np.inf]: |
| 1245 | a = np.array([[inf, np.nan], [np.nan, np.nan]]) |
| 1246 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1247 | assert_equal(np.ma.median(a, axis=0), [inf, np.nan]) |
| 1248 | assert_equal(np.ma.median(a, axis=1), [inf, np.nan]) |
| 1249 | assert_equal(np.ma.median(a), inf) |
| 1250 | |
| 1251 | a = np.array([[np.nan, np.nan, inf], [np.nan, np.nan, inf]]) |
| 1252 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1253 | assert_array_equal(np.ma.median(a, axis=1), inf) |
| 1254 | assert_array_equal(np.ma.median(a, axis=1).mask, False) |
| 1255 | assert_array_equal(np.ma.median(a, axis=0), a[0]) |
| 1256 | assert_array_equal(np.ma.median(a), inf) |
| 1257 | |
| 1258 | # no mask |
| 1259 | a = np.array([[inf, inf], [inf, inf]]) |
| 1260 | assert_equal(np.ma.median(a), inf) |
| 1261 | assert_equal(np.ma.median(a, axis=0), inf) |
| 1262 | assert_equal(np.ma.median(a, axis=1), inf) |
| 1263 | |
| 1264 | a = np.array([[inf, 7, -inf, -9], |
| 1265 | [-10, np.nan, np.nan, 5], |
| 1266 | [4, np.nan, np.nan, inf]], |
| 1267 | dtype=np.float32) |
| 1268 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1269 | if inf > 0: |
| 1270 | assert_equal(np.ma.median(a, axis=0), [4., 7., -inf, 5.]) |
| 1271 | assert_equal(np.ma.median(a), 4.5) |
| 1272 | else: |
| 1273 | assert_equal(np.ma.median(a, axis=0), [-10., 7., -inf, -9.]) |
| 1274 | assert_equal(np.ma.median(a), -2.5) |
| 1275 | assert_equal(np.ma.median(a, axis=1), [-1., -2.5, inf]) |
| 1276 | |
| 1277 | for i in range(10): |
| 1278 | for j in range(1, 10): |
| 1279 | a = np.array([([np.nan] * i) + ([inf] * j)] * 2) |
| 1280 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1281 | assert_equal(np.ma.median(a), inf) |
| 1282 | assert_equal(np.ma.median(a, axis=1), inf) |
| 1283 | assert_equal(np.ma.median(a, axis=0), |
| 1284 | ([np.nan] * i) + [inf] * j) |
| 1285 | |
| 1286 | def test_empty(self): |
| 1287 | # empty arrays |
nothing calls this directly
no test coverage detected