1
にnumpyの2次元配列を保存できません:あなたが見ることができるようには、私は二つの行列の連結した以下の2-D numpyの行列、持っているファイル
>>> mnist1_train_final_data=np.hstack((y_train_mnist_ni,features_train_mnist1))
>>> type(mnist1_train_final_data)
<type 'numpy.ndarray'>
>>> mnist1_train_final_data.dtype
dtype('S32')
>>> mnist1_train_final_data.shape
(1149, 129)
を、それが2であります-d numpy配列。しかし、ときに私は、次のコマンドを使用して、それを保存しよう:
Traceback (most recent call last): File "<stdin>", line 1, in
<module> File "/usr/lib/python2.7/site-packages/numpy/lib/npyio.py",
line 1162, in savetxt
% (str(X.dtype), format)) TypeError: Mismatch between array dtype ('|S32') and format specifier
('%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f,%5.2f')
がどのように私は私の場合は2-D numpyの行列を保存することができます:
>>> np.savetxt('test.txt', mnist1_train_final_data, delimiter=',', fmt='%5.2f')
それは私が次のエラーを示して?
"%s"
などの有効な文字列フォーマッタを通過しなければならないので、デフォルトのフォーマットは、文字列タイプに対して有効ではないことに注意してください? 'savetxt'は行を反復し、各行は' fmt%tuple(row) 'を行います。ここで' fmt'は 'mismatch'の文字列です。 129個の列のそれぞれに1つの '%f5.2'があります。 – hpaulj