【问题标题】:Error for saving a matrix保存矩阵时出错
【发布时间】:2016-01-24 21:00:56
【问题描述】:

我有一个包含字符串、浮点数和整数的矩阵,我想将它保存为 csv 文件。这是我使用的命令:

numpy.savetxt("X.csv", X, delimiter=",")

其中 X 是矩阵的名称。这是错误:

Traceback (most recent call last):


File "<stdin>", line 1, in <module>
 File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 1073, in savetxt
fh.write(asbytes(format % tuple(row) + newline))
TypeError: float argument required, not str

这是矩阵的第一行:

16  disk    11  10.29   4.63    30.22 11  20.49   60.60   20.22 11  22.17   0.71    10.37

矩阵类型为numpy.ndarray。

如何保存?谢谢

【问题讨论】:

  • 告诉我们更多关于X(例如dtype)的信息。您是否探索过savetxtfmt 参数?
  • 你能举一个这个矩阵包含的例子吗?我刚刚做了X = np.matrix( np.random.uniform( 0,1, (4,4)) ); np.savetxt("X.csv", X, delimiter=",") ,效果很好。
  • @hpaulj 你能解释一下在这种情况下我应该如何使用 fmt 吗?
  • 我编辑了问题
  • 如何格式化行样本? %s, %s, %d, %f,etc'%(row)`?

标签: python numpy import


【解决方案1】:

在您给出的示例中,矩阵由字符串和浮点数组成。那么这个问题已经在这里回答了:

How to use python numpy.savetxt to write strings and float number to an ASCII file?

将您的 np.savetxt 呼叫编辑为 numpy.savetxt("X.csv", X, delimiter=",", fmt='%s')

【讨论】:

  • '%s' fmt 说 - 将每一列转换为其通常的字符串表示形式。
猜你喜欢
  • 2021-04-07
  • 2015-10-17
  • 2017-03-24
  • 2017-09-10
  • 2015-09-14
  • 2015-06-20
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
相关资源
最近更新 更多