【发布时间】:2016-09-27 22:32:21
【问题描述】:
我有一个想要写入 csv 文件的二维数组。我正在使用以下代码来做到这一点。我的数组已经是一个 float32 dtype 数组。然后我使用.asarray() 函数将数组转换为numpy。现在我想将其写入 csv 文件并使用以下代码:
activaiton_array = np.asarray(activation_list)
np.savetxt("/home/workstation/activation_data_file_1.csv", activaiton_array,fmt='%f', delimiter=",",)
但我收到以下错误:
np.savetxt("/home/workstation/activation_data_file_1.csv", activaiton_array,fmt='%f', delimiter=",",)
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 numpy.ndarray
【问题讨论】:
-
我猜它不适用于 3+D 数组,并且它没有“解包”足够的层来到达浮点数,所以它留下了一个数组并被卡住了.你有几个维度?
-
请举例说明您要写入 csv 的特定数组
-
对不起,我没有指定它实际上是一个二维数组。我将编辑帖子。
-
您的代码可以很好地处理这样的二维数组:
x=np.asarray([[1, 2, 3], [4, 5, 6]], dtype=float); np.savetxt('test.csv', x, fmt='%f', delimiter=',')。你能举一个给你一个错误的数组的例子吗? -
阵列([[-47.44044876,53.48169327,-75.20567322,-251.82580566,-16.14718628,14.18919754,-7.94054556,61.17417145,90.40328217,-39.49287796,-169.89468384,180.6479187,14.25799465,-40.71538162,129.78521729, 78.43473053,-20.75302696,-51.29152679,-2.59940243,27.26807022,-115.14477539,66.79769135,14.48125744,-170.70048523,68.43611145,-90.43571472,-190.86634827,17.81785965,-56.12176514,7.12983942]],D型细胞= FLOAT32)] 跨度>