2

私の問題はまさにタイトルのとおりです。整数のnumpy配列があり、それを離散値を持つOrangeテーブルに変換したいと考えています。次の手順に従うと、失敗します。

import numpy as np
import Orange
a = np.arange(100).reshape((10,10)).astype(np.int8)
fields = ('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten')
d = Orange.data.Domain([Orange.feature.Discrete(x) for x in fields])
t = Orange.data.Table(d, a)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-230-f9b4755dcfba> in <module>()
----> 1 t = Orange.data.Table(d, a)

ValueError: Invalid value for a Discrete variable.

中間の物理ファイルを使用したくありません (正直なところ、cStringIO.StringIO を介して「仮想」ファイルを使用しようとしましたが、Orange.data.Table() の引数として正しく渡すことができませんでした。ファイルではなく、ファイル名)。

それを達成するために私ができることはありますか(明白ではあるがエレガントではないソリューションの1つである中間物理ファイルとは別に)?

PS私はnumpy配列を文字列に再形成しようとしましたが、次のようにするとエラーになります:

AttributeError: Converting arrays of type 'S' is not supported (use one of 'bBhHiIlLfdc')
4

1 に答える 1