Skip to content

Commit 58ccf38

Browse files
authored
Merge pull request #1618 from VesnaT/filter_fix
Table: Fix non-string metas filtering
2 parents 809e955 + eb89ee6 commit 58ccf38

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

Orange/data/table.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,6 +1122,7 @@ def _filter_values_indicators(self, filter):
11221122
if isinstance(f, data_filter.FilterDiscrete) and f.values is None \
11231123
or isinstance(f, data_filter.FilterContinuous) and \
11241124
f.oper == f.IsDefined:
1125+
col = col.astype(float)
11251126
if conjunction:
11261127
sel *= ~np.isnan(col)
11271128
else:

Orange/tests/test_table.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,6 +1022,12 @@ def test_valueFilter_string_is_defined(self):
10221022
x = filter.Values([f])(d)
10231023
self.assertEqual(len(x), 7)
10241024

1025+
def test_valueFilter_discrete_meta_is_defined(self):
1026+
d = data.Table("test9.tab")
1027+
f = filter.FilterDiscrete(-4, None)
1028+
x = filter.Values([f])(d)
1029+
self.assertEqual(len(x), 8)
1030+
10251031
def test_valueFilter_string_case_sens(self):
10261032
d = data.Table("zoo")
10271033
col = d[:, "name"].metas[:, 0]

0 commit comments

Comments
 (0)