def test_concatenate_coordinates(self): fd1 = FDataGrid([[1, 2, 3, 4], [2, 3, 4, 5]]) fd2 = FDataGrid([[3, 4, 5, 6], [4, 5, 6, 7]]) fd1.argument_names = ["x"] fd1.coordinate_names = ["y"] fd2.argument_names = ["w"] fd2.coordinate_names = ["t"] fd = fd1.concatenate(fd2, as_coordinates=True) np.testing.assert_equal(fd.n_samples, 2) np.testing.assert_equal(fd.dim_codomain, 2) np.testing.assert_equal(fd.dim_domain, 1) np.testing.assert_array_equal(fd.data_matrix, [[[1, 3], [2, 4], [3, 5], [4, 6]], [[2, 4], [3, 5], [4, 6], [5, 7]]]) # Testing labels np.testing.assert_array_equal(("y", "t"), fd.coordinate_names) fd2.coordinate_names = None fd = fd1.concatenate(fd2, as_coordinates=True) np.testing.assert_array_equal(("y", None), fd.coordinate_names) fd1.coordinate_names = None fd = fd1.concatenate(fd2, as_coordinates=True) np.testing.assert_equal((None, None), fd.coordinate_names)
def test_coordinates(self): fd1 = FDataGrid([[1, 2, 3, 4], [2, 3, 4, 5]]) fd1.argument_names = ["x"] fd1.coordinate_names = ["y"] fd2 = FDataGrid([[3, 4, 5, 6], [4, 5, 6, 7]]) fd = fd1.concatenate(fd2, as_coordinates=True) # Indexing with number np.testing.assert_array_equal(fd.coordinates[0].data_matrix, fd1.data_matrix) np.testing.assert_array_equal(fd.coordinates[1].data_matrix, fd2.data_matrix) # Iteration for fd_j, fd_i in zip([fd1, fd2], fd.coordinates): np.testing.assert_array_equal(fd_j.data_matrix, fd_i.data_matrix) fd3 = fd1.concatenate(fd2, fd1, fd, as_coordinates=True) # Multiple indexation np.testing.assert_equal(fd3.dim_codomain, 5) np.testing.assert_array_equal(fd3.coordinates[:2].data_matrix, fd.data_matrix) np.testing.assert_array_equal(fd3.coordinates[-2:].data_matrix, fd.data_matrix) np.testing.assert_array_equal( fd3.coordinates[np.array( (False, False, True, False, True))].data_matrix, fd.data_matrix)
def test_concatenate(self): fd1 = FDataGrid([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]]) fd2 = FDataGrid([[3, 4, 5, 6, 7], [4, 5, 6, 7, 8]]) fd1.argument_names = ["x"] fd1.coordinate_names = ["y"] fd = fd1.concatenate(fd2) np.testing.assert_equal(fd.n_samples, 4) np.testing.assert_equal(fd.dim_codomain, 1) np.testing.assert_equal(fd.dim_domain, 1) np.testing.assert_array_equal(fd.data_matrix[..., 0], [[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7], [4, 5, 6, 7, 8]]) np.testing.assert_array_equal(fd1.argument_names, fd.argument_names) np.testing.assert_array_equal(fd1.coordinate_names, fd.coordinate_names)
def test_concatenate2(self): sample1 = np.arange(0, 10) sample2 = np.arange(10, 20) fd1 = FDataGrid([sample1]) fd2 = FDataGrid([sample2]) fd1.argument_names = ["x"] fd1.coordinate_names = ["y"] fd = concatenate([fd1, fd2]) np.testing.assert_equal(fd.n_samples, 2) np.testing.assert_equal(fd.dim_codomain, 1) np.testing.assert_equal(fd.dim_domain, 1) np.testing.assert_array_equal(fd.data_matrix[..., 0], [sample1, sample2]) np.testing.assert_array_equal(fd1.argument_names, fd.argument_names) np.testing.assert_array_equal(fd1.coordinate_names, fd.coordinate_names)