def multi_x_reader(self, spc_file):
# use x-values as domain
all_x = []
for sub in spc_file.sub:
x = sub.x
# assume values in x do not repeat
all_x = np.union1d(all_x, x)
domain = Orange.data.Domain([Orange.data.ContinuousVariable.make("%f" % f) for f in all_x], None)
instances = []
for sub in spc_file.sub:
x, y = sub.x, sub.y
newinstance = np.ones(len(all_x))*np.nan
ss = np.searchsorted(all_x, x) # find positions to set
newinstance[ss] = y
instances.append(newinstance)
y_data = np.array(instances).astype(float, order='C')
return Orange.data.Table.from_numpy(domain, y_data)
评论列表
文章目录