python二维数组输出到txt文件中_无法将numpy二维数组保存到文件中

I have the following 2-d numpy matrix, which was a concatenation of two matrices:

>>> mnist1_train_final_data=np.hstack((y_train_mnist_ni,features_train_mnist1))

>>> type(mnist1_train_final_data)

>>> mnist1_train_final_data.dtype

dtype('S32')

>>> mnist1_train_final_data.shape

(1149, 129)

As you can see, it is a 2-d numpy array. However, when I try to save it using the following command:

>>> np.savetxt('test.txt', mnist1_train_final_data, delimiter=',', fmt='%5.2f')

It shows me the following error:

Traceback (most recent call last): File "", line 1, in

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')

How can I save a 2-d numpy matrix in my case?

解决方案

S32 is a string type. The format you're specifying is for float types. To save a string type, with savetxt you need to pass the "%s" formatter. Note that the default format is not valid for string types so you must pass a valid string formatter such as "%s"

np.savetxt('test.txt', mnist1_train_final_data, delimiter=',', fmt='%s')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值