4

私は3つの配列を持っています:

a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.array([7,8])

私はこのようなことをしたい:

np.savetxt('data.txt',np.array(a,b,c))

あるいは単に

np.savetxt('data.txt',(a,b,c))

しかし、私は得る

 TypeError: float argument required, not numpy.ndarray

私は次のようなことをすることでこの問題を回避しました

np.savetxt('data.txt',np.array([a[0],a[1],...,c[2]]))

しかし、これはあまり満足のいくものではなく(特に配列のサイズが変わる可能性があるため)、すべての値を単一の行と複数の列ではなく単一の列にプロットします(私が望む方法)。

問題は、配列の次元が異なることです。上記の例を使用して理想的にしたい出力の種類は次のとおりです。

   1 2 3 4 5 6 7 8

誰かがこれを行うためのより良い方法を知っていますか?

4

4 に答える 4

0

これがあなたが望むものだと思います。

>>>a=np.array([1,2,3])
>>>b=np.array([4,5,6])
>>>c=np.array([7,8,9])
>>>np.savetxt('data.txt',(list(a)+list(b)+list(c)),fmt='%s',delimiter=',',newline=' ')
>>>!cat data.txt
1 2 3 4 5 6 7 8 9
于 2013-05-07T15:01:14.140 に答える
0

np.savetxt に送信する前に np.hstack((a,b,c)) を実行する方法が 1 つ考えられることに気付きました。この場合、「より良い」方法があるかどうかはわかりません。

于 2013-05-07T11:40:35.167 に答える