def test_fill(self): array = np.array([[np.NaN] * 4 + [1., 2., 3., 4.] + [np.NaN] * 3, [ 1., np.NaN, np.NaN, 2., 3., np.NaN, np.NaN, np.NaN, 4., np.NaN, 5. ]]) array_ffill = ValueFilloutTask.fill(array, operation='f') array_bfill = ValueFilloutTask.fill(array, operation='b') array_fbfill = ValueFilloutTask.fill(array_ffill, operation='b') self.assertTrue( np.array_equal(array_ffill, np.array( [[np.NaN] * 4 + [1., 2., 3., 4., 4., 4., 4.], [1., 1., 1., 2., 3., 3., 3., 3., 4., 4., 5.]]), equal_nan=True)) self.assertTrue( np.array_equal( array_bfill, np.array([[1., 1., 1., 1., 1., 2., 3., 4.] + [np.NaN] * 3, [1., 2., 2., 2., 3., 4., 4., 4., 4., 5., 5.]]), equal_nan=True)) self.assertTrue( np.array_equal(array_fbfill, np.array( [[1., 1., 1., 1., 1., 2., 3., 4., 4., 4., 4.], [1., 1., 1., 2., 3., 3., 3., 3., 4., 4., 5.]]), equal_nan=True))
def test_fill(): array = np.array([ [np.NaN] * 4 + [1.0, 2.0, 3.0, 4.0] + [np.NaN] * 3, [ 1.0, np.NaN, np.NaN, 2.0, 3.0, np.NaN, np.NaN, np.NaN, 4.0, np.NaN, 5.0 ], ]) array_ffill = ValueFilloutTask.fill(array, operation="f") array_bfill = ValueFilloutTask.fill(array, operation="b") array_fbfill = ValueFilloutTask.fill(array_ffill, operation="b") assert_allclose( array_ffill, np.array([ [np.NaN] * 4 + [1.0, 2.0, 3.0, 4.0, 4.0, 4.0, 4.0], [1.0, 1.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 5.0], ]), equal_nan=True, ) assert_allclose( array_bfill, np.array([ [1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 3.0, 4.0] + [np.NaN] * 3, [1.0, 2.0, 2.0, 2.0, 3.0, 4.0, 4.0, 4.0, 4.0, 5.0, 5.0], ]), equal_nan=True, ) assert_allclose( array_fbfill, np.array([ [1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 3.0, 4.0, 4.0, 4.0, 4.0], [1.0, 1.0, 1.0, 2.0, 3.0, 3.0, 3.0, 3.0, 4.0, 4.0, 5.0], ]), equal_nan=True, )