(self)
| 1153 | assert_array_equal(np.ma.median(a), 255) |
| 1154 | |
| 1155 | def test_special(self): |
| 1156 | for inf in [np.inf, -np.inf]: |
| 1157 | a = np.array([[inf, np.nan], [np.nan, np.nan]]) |
| 1158 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1159 | assert_equal(np.ma.median(a, axis=0), [inf, np.nan]) |
| 1160 | assert_equal(np.ma.median(a, axis=1), [inf, np.nan]) |
| 1161 | assert_equal(np.ma.median(a), inf) |
| 1162 | |
| 1163 | a = np.array([[np.nan, np.nan, inf], [np.nan, np.nan, inf]]) |
| 1164 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1165 | assert_array_equal(np.ma.median(a, axis=1), inf) |
| 1166 | assert_array_equal(np.ma.median(a, axis=1).mask, False) |
| 1167 | assert_array_equal(np.ma.median(a, axis=0), a[0]) |
| 1168 | assert_array_equal(np.ma.median(a), inf) |
| 1169 | |
| 1170 | # no mask |
| 1171 | a = np.array([[inf, inf], [inf, inf]]) |
| 1172 | assert_equal(np.ma.median(a), inf) |
| 1173 | assert_equal(np.ma.median(a, axis=0), inf) |
| 1174 | assert_equal(np.ma.median(a, axis=1), inf) |
| 1175 | |
| 1176 | a = np.array([[inf, 7, -inf, -9], |
| 1177 | [-10, np.nan, np.nan, 5], |
| 1178 | [4, np.nan, np.nan, inf]], |
| 1179 | dtype=np.float32) |
| 1180 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1181 | if inf > 0: |
| 1182 | assert_equal(np.ma.median(a, axis=0), [4., 7., -inf, 5.]) |
| 1183 | assert_equal(np.ma.median(a), 4.5) |
| 1184 | else: |
| 1185 | assert_equal(np.ma.median(a, axis=0), [-10., 7., -inf, -9.]) |
| 1186 | assert_equal(np.ma.median(a), -2.5) |
| 1187 | assert_equal(np.ma.median(a, axis=1), [-1., -2.5, inf]) |
| 1188 | |
| 1189 | for i in range(0, 10): |
| 1190 | for j in range(1, 10): |
| 1191 | a = np.array([([np.nan] * i) + ([inf] * j)] * 2) |
| 1192 | a = np.ma.masked_array(a, mask=np.isnan(a)) |
| 1193 | assert_equal(np.ma.median(a), inf) |
| 1194 | assert_equal(np.ma.median(a, axis=1), inf) |
| 1195 | assert_equal(np.ma.median(a, axis=0), |
| 1196 | ([np.nan] * i) + [inf] * j) |
| 1197 | |
| 1198 | def test_empty(self): |
| 1199 | # empty arrays |
nothing calls this directly
no test coverage detected