1

Pythonでforループを作成して、次のようなタプルの配列を作成しようとしています。

Output = [(0.0,C[0]),(0.0,C[1]),(0.0,C[2]), .... , (0.0,C[n-1])]

ここCで、は他のいくつかの数値の配列です。

私が試してみると(matlabで動作するもの)

for n in xrange(0,N):
    Output[n]=numpy.asarray( [0.0,C[n]] )

次に、エラーが発生しますValueError: setting an array element with a sequence

誰か助けてもらえますか?

4

3 に答える 3

4
numpy.array([(0.0, C[x]) for x in range(n)])
于 2012-04-24T18:33:36.997 に答える
0

どうですか:

output = np.zeros((N, 2), dtype='float')
output[:, 1] = C[:N]

ところで、「タプルの配列」は私にはあまり意味がありません。オブジェクト配列(おそらくmatlabのセル配列?)を意味する場合は、配列の代わりにリストを使用することをお勧めします。

于 2012-04-24T18:52:14.720 に答える
0

構造化配列(別名「レコード配列」)をご覧ください:http://docs.scipy.org/doc/numpy/user/basics.rec.html

あなたはそのようなことを定義することができます:

>>> x = np.zeros((2,),dtype=('i4,f4,a10'))
>>> x[:] = [(1,2.,'Hello'),(2,3.,"World")]
>>> x
array([(1, 2.0, 'Hello'), (2, 3.0, 'World')],
     dtype=[('f0', '>i4'), ('f1', '>f4'), ('f2', '|S10')])
于 2013-07-15T16:53:26.450 に答える