Skip to content

Commit 92b2864

Browse files
committed
owfeatureconstructor: Remove iteration over rows in check_attrs_values
1 parent ad56f9f commit 92b2864

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

Orange/widgets/data/owfeatureconstructor.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -733,11 +733,14 @@ def duplicateFeature(self):
733733

734734
@staticmethod
735735
def check_attrs_values(attr, data):
736-
for i in range(len(data)):
737-
for var in attr:
738-
if not math.isnan(data[i, var]) \
739-
and int(data[i, var]) >= len(var.values):
740-
return var.name
736+
for var in attr:
737+
col, _ = data.get_column_view(var)
738+
mask = ~np.isnan(col)
739+
grater_or_equal = np.greater_equal(
740+
col, len(var.values), out=mask, where=mask
741+
)
742+
if grater_or_equal.any():
743+
return var.name
741744
return None
742745

743746
def _validate_descriptors(self, desc):

0 commit comments

Comments
 (0)