| 222 | assert_equal(wts, [1., 0.]) |
| 223 | |
| 224 | def test_testAverage2(self): |
| 225 | # More tests of average. |
| 226 | w1 = [0, 1, 1, 1, 1, 0] |
| 227 | w2 = [[0, 1, 1, 1, 1, 0], [1, 0, 0, 0, 0, 1]] |
| 228 | x = arange(6, dtype=np.float64) |
| 229 | assert_equal(average(x, axis=0), 2.5) |
| 230 | assert_equal(average(x, axis=0, weights=w1), 2.5) |
| 231 | y = array([arange(6, dtype=np.float64), 2.0 * arange(6)]) |
| 232 | assert_equal(average(y, None), np.add.reduce(np.arange(6)) * 3. / 12.) |
| 233 | assert_equal(average(y, axis=0), np.arange(6) * 3. / 2.) |
| 234 | assert_equal(average(y, axis=1), |
| 235 | [average(x, axis=0), average(x, axis=0) * 2.0]) |
| 236 | assert_equal(average(y, None, weights=w2), 20. / 6.) |
| 237 | assert_equal(average(y, axis=0, weights=w2), |
| 238 | [0., 1., 2., 3., 4., 10.]) |
| 239 | assert_equal(average(y, axis=1), |
| 240 | [average(x, axis=0), average(x, axis=0) * 2.0]) |
| 241 | m1 = zeros(6) |
| 242 | m2 = [0, 0, 1, 1, 0, 0] |
| 243 | m3 = [[0, 0, 1, 1, 0, 0], [0, 1, 1, 1, 1, 0]] |
| 244 | m4 = ones(6) |
| 245 | m5 = [0, 1, 1, 1, 1, 1] |
| 246 | assert_equal(average(masked_array(x, m1), axis=0), 2.5) |
| 247 | assert_equal(average(masked_array(x, m2), axis=0), 2.5) |
| 248 | assert_equal(average(masked_array(x, m4), axis=0).mask, [True]) |
| 249 | assert_equal(average(masked_array(x, m5), axis=0), 0.0) |
| 250 | assert_equal(count(average(masked_array(x, m4), axis=0)), 0) |
| 251 | z = masked_array(y, m3) |
| 252 | assert_equal(average(z, None), 20. / 6.) |
| 253 | assert_equal(average(z, axis=0), [0., 1., 99., 99., 4.0, 7.5]) |
| 254 | assert_equal(average(z, axis=1), [2.5, 5.0]) |
| 255 | assert_equal(average(z, axis=0, weights=w2), |
| 256 | [0., 1., 99., 99., 4.0, 10.0]) |
| 257 | |
| 258 | def test_testAverage3(self): |
| 259 | # Yet more tests of average! |