1
我有以下2-d numpy的基质,这是两个矩阵的级联:无法保存一个numpy的2-d阵列到文件
>>> 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数组。然而,当我尝试使用下面的命令来保存:
>>> np.savetxt('test.txt', mnist1_train_final_data, delimiter=',', fmt='%5.2f')
它显示我以下错误:
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的矩阵?
你期待数组包含字符串? 'savetxt'在行上迭代,并且每行都有'fmt%tuple(row)',其中'fmt'是'不匹配'中的字符串。每个129列有一个'%f5.2'。 – hpaulj