这是一个相当基本的问题。您如何在 Orange 中创建一个新列 - 基于现有列?
例如:
NewCol = 2 * ExistingColumn
或者
NewCol = len(ExistingColumn)
我想使用 Python 脚本小部件 - 而不是功能小部件。
这是一个相当基本的问题。您如何在 Orange 中创建一个新列 - 基于现有列?
例如:
NewCol = 2 * ExistingColumn
或者
NewCol = len(ExistingColumn)
我想使用 Python 脚本小部件 - 而不是功能小部件。
你会认为这是基本的。到目前为止,我还没有发现它是这样的。这是一个对我有用的例子。我相信它可以简单得多。:
from Orange.data import ContinuousVariable, DiscreteVariable, Domain
out_data = in_data.copy()
var1 = ContinuousVariable("NewCol")
domain = out_data.domain
new_domain = Domain(attributes=domain.attributes + (var1,), metas=domain.metas, class_vars=domain.class_vars)
out_data = out_data.transform(new_domain)
i2 = out_data.domain.index(out_data.domain["NewCol"])
i1 = out_data.domain.index(out_data.domain["ExistingColumn"])
out_data.X[:, i2] = out_data.X[:,i1] * 2