Example #1
0
    def test_compound_transform(self):
        table = self.data_str
        domain = table.domain
        v1 = domain.metas[0]
        v1.attributes["a"] = "a"
        tv1 = apply_transform(v1, table, [AsContinuous(), Rename("Z1")])
        tv2 = apply_transform(
            v1, table,
            [AsContinuous(),
             Rename("Z2"),
             Annotate((("a", "b"), ))])

        self.assertIsInstance(tv1, ContinuousVariable)
        self.assertEqual(tv1.name, "Z1")
        self.assertEqual(tv1.attributes, {"a": "a"})

        self.assertIsInstance(tv2, ContinuousVariable)
        self.assertEqual(tv2.name, "Z2")
        self.assertEqual(tv2.attributes, {"a": "b"})

        tdomain = Domain([], metas=[tv1, tv2])
        ttable = table.transform(tdomain)

        assert_array_nanequal(
            ttable.metas, np.array([
                [0.1, 0.1],
                [1.0, 1.0],
            ], dtype=object))
Example #2
0
 def _test_common(self, var):
     tr = [Rename(var.name + "_copy"), Annotate((("A", "1"),))]
     XX = apply_transform(var, tr)
     self.assertEqual(XX.name, var.name + "_copy")
     self.assertEqual(XX.attributes, {"A": 1})
     self.assertIsInstance(XX.compute_value, Identity)
     self.assertIs(XX.compute_value.variable, var)
Example #3
0
 def _test_common(self, var):
     tr = [Rename(var.name + "_copy"), Annotate((("A", "1"),))]
     XX = apply_transform(var, tr)
     self.assertEqual(XX.name, var.name + "_copy")
     self.assertEqual(XX.attributes, {"A": 1})
     self.assertIsInstance(XX.compute_value, Identity)
     self.assertIs(XX.compute_value.variable, var)
Example #4
0
 def test_discrete_reorder(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     DD = apply_transform(D, [CategoriesMapping((("0", "0"), ("1", "1"),
                                                 ("2", "2"), ("3", "3")))])
     self.assertSequenceEqual(DD.values, ["0", "1", "2", "3"])
     self._assertLookupEquals(
         DD.compute_value, Lookup(D, np.array([2, 3, 1, 0]))
     )
Example #5
0
 def test_discrete_reorder(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     DD = apply_transform(D, [CategoriesMapping((("0", "0"), ("1", "1"),
                                                 ("2", "2"), ("3", "3")))])
     self.assertSequenceEqual(DD.values, ["0", "1", "2", "3"])
     self._assertLookupEquals(
         DD.compute_value, Lookup(D, np.array([2, 3, 1, 0]))
     )
 def test_discrete_merge(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     mapping = (
         ("0", "x"),
         ("1", "y"),
         ("2", "x"),
         ("3", "y"),
     )
     tr = [CategoriesMapping(mapping)]
     DD = apply_transform(D, tr)
     self.assertSequenceEqual(DD.values, ["x", "y"])
     self._assertLookupEquals(DD.compute_value,
                              Lookup(D, np.array([0, 1, 1, 0])))
Example #7
0
 def test_discrete_merge(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     mapping = (
         ("0", "x"),
         ("1", "y"),
         ("2", "x"),
         ("3", "y"),
     )
     tr = [CategoriesMapping(mapping)]
     DD = apply_transform(D, tr)
     self.assertSequenceEqual(DD.values, ["x", "y"])
     self._assertLookupEquals(
         DD.compute_value, Lookup(D, np.array([0, 1, 1, 0]))
     )
 def test_discrete_add_drop(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     mapping = (
         ("0", None),
         ("1", "1"),
         ("2", "2"),
         ("3", None),
         (None, "A"),
     )
     tr = [CategoriesMapping(mapping)]
     DD = apply_transform(D, tr)
     self.assertSequenceEqual(DD.values, ["1", "2", "A"])
     self._assertLookupEquals(DD.compute_value,
                              Lookup(D, np.array([1, np.nan, 0, np.nan])))
Example #9
0
 def test_discrete_add_drop(self):
     D = DiscreteVariable("D", values=("2", "3", "1", "0"))
     mapping = (
         ("0", None),
         ("1", "1"),
         ("2", "2"),
         ("3", None),
         (None, "A"),
     )
     tr = [CategoriesMapping(mapping)]
     DD = apply_transform(D, tr)
     self.assertSequenceEqual(DD.values, ["1", "2", "A"])
     self._assertLookupEquals(
         DD.compute_value, Lookup(D, np.array([1, np.nan, 0, np.nan]))
     )
Example #10
0
 def test_ordered_change(self):
     D = DiscreteVariable("D", values=("a", "b"), ordered=True)
     Do = apply_transform(D, [ChangeOrdered(False)])
     self.assertFalse(Do.ordered)
Example #11
0
 def test_discrete_rename(self):
     D = DiscreteVariable("D", values=("a", "b"))
     DD = apply_transform(D, [CategoriesMapping((("a", "A"), ("b", "B")))])
     self.assertSequenceEqual(DD.values, ["A", "B"])
     self.assertIs(DD.compute_value.variable, D)
Example #12
0
 def test_null_transform(self):
     table = self.data_str
     domain = table.domain
     v = apply_transform(domain.metas[0], table, [])
     self.assertIs(v, domain.metas[0])
Example #13
0
 def test_ordered_change(self):
     D = DiscreteVariable("D", values=("a", "b"), ordered=True)
     Do = apply_transform(D, [ChangeOrdered(False)])
     self.assertFalse(Do.ordered)
Example #14
0
 def test_discrete_rename(self):
     D = DiscreteVariable("D", values=("a", "b"))
     DD = apply_transform(D, [CategoriesMapping((("a", "A"), ("b", "B")))])
     self.assertSequenceEqual(DD.values, ["A", "B"])
     self.assertIs(DD.compute_value.variable, D)