、コード
arr = np.array([
[np.array([1,2,3]), np.array([1,0])],
[np.array([4,5,6]), np.array([0,1])]
])
を作成します最初の列をインデックスするオブジェクト配列は、サイズを考慮して1つのオブジェクトを持つ2つの行を返します。あなたが望むものを得るには、何かのようにそれを包む必要があります。
np.vstack(arr[:, 0])
これは、最初の列のオブジェクトから配列を作成します。これはあまり便利ではありません。
io = {'in': np.array([[1,2,3],[4,5,6]]),
'out':np.array([[1,0], [0,1]])
}
構造化された配列は、両方のビットを提供します。作成は
arr = np.array([
(1,2,3), (1,0)),
((4,5,6), (0,1)) ],
dtype=[('in', '3int64'), ('out', '2float64')])
は、それぞれ3つの整数と浮動小数点数2からなるフィールドin
とout
で構成アレイを作成し、所与例えば、ビットトリッキーです。行は、通常通りアクセスすることができ
In[73]: arr[0]
Out[74]: ([1, 2, 3], [ 1., 0.])
またはフィールド名
In [73]: arr['in']
Out[73]:
array([[1, 2, 3],
[4, 5, 6]])
numpyのマニュアルは、多くの詳細を持っている(https://docs.scipy.org/doc/numpy-1.13.0/user/basics.rec.html)によって
。私はしばらくの間それらをプロジェクトで使用しようとしていたが、そうしていないので詳細を追加することはできません。
行の長さが一致しないことをお勧めします。あなたの使用例は何ですか? – nos
単純なニューラルネットワーク。最初の列は入力フィーチャを表します。第2列は出力確率を表す。 – coolscitist