python - 无法将 numpy 二维数组保存到文件中

标签 python arrays numpy matrix

我有以下二维 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)

如您所见,它是一个二维 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')

如何在我的情况下保存二维 numpy 矩阵?

最佳答案

S32 是字符串类型。您指定的格式适用于浮点类型。要使用 savetxt 保存字符串类型,您需要传递 "%s" 格式化程序。请注意,默认格式对于字符串类型无效,因此您必须传递有效的字符串格式化程序,例如“%s”

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

关于python - 无法将 numpy 二维数组保存到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910803/

相关文章:

java - 使用二分查找算法作为基础来实现二分插入

php - 选择获取数组中的不同项目

python - 将 url 中的 txt 文件读取到 BeautifulSOUP 中

python - numpy - 使用 np.random.choice 从矩阵中重复采样

python - 在Matlab中优化一个 "mask"函数

python - scipy.stats 模块和 numpy.random 模块之间的区别是什么,两个模块都有类似的方法?

python - 如何将 RGB ImageItem 添加到 pyqtgraph ViewBox? ValueError : could not broadcast input array from shape (256, 256,4) 变为形状 (256,256)

python - 从旧数据框创建子列

python - 从视觉导入 * 不工作(vpython)

python - Pandas.to_datetime 函数静默失败